rust-web3
Ethereum JSON-RPC multi-transport client. Rust implementation of Web3.js library.
Examples
extern crate web3;
use Future;
If you want to deploy smart contracts you have written you can do something like this (make sure you have the solidity compiler installed):
solc -o build --bin --abi contracts/*.sol
The solidity compiler is generating the binary and abi code for the smart contracts in a directory called contracts and is being output to a directory called build.
For more see examples folder.
General
- More flexible API (accept
Into<X>) - Contract calls (ABI encoding;
debris/ethabi) - Batch Requests
Transports
- HTTP transport
- IPC transport
- WebSockets transport
Types
- Types for
U256,H256,Address(H160) - Index type (numeric, encoded to hex)
- Transaction type (
Transactionfrom Parity) - Transaction receipt type (
TransactionReceiptfrom Parity) - Block type (
RichBlockfrom Parity) - Work type (
Workfrom Parity) - Syncing type (
SyncStatsfrom Parity)
APIs
- Eth:
eth_* - Eth filters:
eth_* - Eth pubsub:
eth_* -
net_* -
web3_* -
personal_* -
traces_*
Parity-specific APIs
-
Parity read-only:
parity_* -
Parity accounts:
parity_* -
Parity set:
parity_* -
signer_* -
Own APIs (Extendable)
let web3 = new;
web3..custom_method.wait.unwrap
Installation on Windows
Currently, Windows does not support IPC, which is enabled in the library by default. To complile, you need to disable IPC feature:
web3 = { version = "0.1.0", default-features = false, features = ["http"] }