Proxy Thor's RESTful API to Eth JSON-RPC, to support Remix, Truffle and more (You should give priority to using Thor's RESTful API).
Working with Thor Builtins will make Web3-Gear more usable.
- Python 3.7+ support
-
Install the system-dependecies
brew install openssl export CFLAGS="-I$(brew --prefix openssl)/include $CFLAGS" export LDFLAGS="-L$(brew --prefix openssl)/lib $LDFLAGS" -
Installation of Web3-Gear and it's dependent Python packages via PyPI
pip3 install web3-gear
- Python 3.7+ support
-
Install the system-dependecies
sudo apt-get install build-essential libssl-dev python-dev -
Use a virtual environment to isolate your web3-gear project
python3 -m venv thor-venv source thor-venv/bin/activate -
Installation of Web3-Gear and it's dependent Python packages via PyPI
pip3 install web3-gear
Note that you can activate and deactivate your virtual environment now
source thor-venv/bin/activate
deactivate
See https://docs.python.org/3/library/venv.html for more information
- Python 3.7+ support
-
Install Visual C++ Build Tools.
-
Install scrypt-py use the precompiled wheels.
-
Installation of Web3-Gear and it's dependent Python packages via PyPI
pip3 install web3-gear
Installing through pip will make the web3-gear command available on your machine (a running thor client is required)
web3-gear
This will run web3-gear on 127.0.0.1:8545.
You can change its default behavior with the following parameters:
- host: rpc service host, eg:
--host 127.0.0.1 - port: rpc service port, eg:
--port 8545 - endpoint: thor restful service endpoint, eg:
--endpoint http://127.0.0.1:8669 - keystore: keystore file path, eg:
--keystore /Users/(username)/keystore), default=thor stand-alone(solo) built-in accounts - passcode: passcode of keystore, eg:
--passcode xxxxxxxx - debug: bool default=false, whether to display debug logs, eg:
--debug true - log: bool default=false, whether to display rpc logs, eg:
--log false
Change the Remix environment to Web3 provide.
- Truffle 4.0.6+ support
Modify the configuration of truffle first(truffle.js):
module.exports = {
networks: {
development: {
host: "localhost",
port: 8545,
network_id: "*" // Match any network id
}
}
};Then you can use truffle's command line tool.
There are some projects based on truffle, can use them for testing: