Skip to main content

Solidity development tools for creating Ethereum smart contracts

Project description

solidbyte

Build Status Coverage Status

Development tools for creating Ethereum smart contracts

What makes Solidbyte different?

  • Local accounts - Solidbyte can use the local accounts stored as Ethereum secretstore files located at ~/.ethereum/keystore. You do not need to trust the node you are using to handle your private keys and risk opening your account with personal.unlock.
  • Python! - Deploy scripts and tests are written using Python.
  • EthPM support - Well, it's in progress and not usable yet, but... it probably will be at some point.
  • Vyper and Solidity support - Contracts written in either language can co-exist side by side with eachother in your project.
  • Interactive python console - Solidbyte provides a console with an insantiated Web3 object and your deployed contract instances. Have I mentioned Python yet?
  • Projcet templates - You can initialize a project template with a single command that includes example deploy scripts, tests, and contracts. Right now only 'bare' and 'erc20' templates are available, but I hope to add more.
  • Contract testing with pytest - Pytest is used for contract testing with some provided fixtures. Something something Python.
  • eth_tester support for testing - It's super fast and really useful for first-pass testing.

NOTE: Solidbyte has only been tested on Linux. If you use another OS, please consider testing and submit an issue for any bugs you find.

Contents

Quickstart

1) Install Solidbyte

Solidbyte requires some system-level libraries to be installed first. Make sure openssl/libssl and libffi headers are installed before proceeding. For more information, see the longer installation docs.

First, install solidbyte. The easiest way to do that is from PyPi with pip.

pip install solidbyte

2) Setup your project

To get your project going, create a directory for your project and change to it. Most sb commands need to be run from the root of your project directory.

mkdir myproject && cd myproject
sb init

Now, all you should have a bare project structure created. You could also init with an available template, but for the purposes of this doc, we're just going to create a bare structure.

Your contracts should be in the contracts directory. Your Solidity or Vyper contracts can be in any directory under it.

The deploy directory will hold your deployment scripts.

And tests will contain your contract unit tests.

The build directory probably doesn't exist yet. This will be created by solidbyte when necessary.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

solidbyte-0.4.2.tar.gz (2.3 MB view details)

Uploaded Source

File details

Details for the file solidbyte-0.4.2.tar.gz.

File metadata

  • Download URL: solidbyte-0.4.2.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for solidbyte-0.4.2.tar.gz
Algorithm Hash digest
SHA256 ae0c45ebaf1e87f0fa62f01aaa64ace2386146ce5b91fecbc0873ee21fed1717
MD5 e65622aafc7b8a43f019c3cebfeb98f0
BLAKE2b-256 e69cbf1da7006e9facf200c4039b8c521045add59e249c36ac7aba7160ddb732

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page