Ethereum JSON-RPC multi-transport client. Rust implementation of Web3.js library.
First, add this to your Cargo.toml
:
toml
[dependencies]
web3 = { git = "https://github.com/tomusdrw/rust-web3" }
Next, add this to your crate:
rust
extern crate web3;
```rust extern crate web3;
use web3::futures::Future;
fn main() { let (_eloop, transport) = web3::transports::Http::new("http://localhost:8545").unwrap();
let web3 = web3::Web3::new(transport); let accounts = web3.eth().accounts().wait().unwrap();
println!("Accounts: {:?}", accounts); } ```
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.
Into<X>
)debris/ethabi
)U256,H256,Address(H160)
Transaction
from Parity)TransactionReceipt
from Parity)RichBlock
from Parity)Work
from Parity)SyncStats
from Parity)eth_*
eth_*
eth_*
net_*
web3_*
personal_*
traces_*
parity_*
parity_*
(partially implemented)parity_*
[ ] signer_*
[x] Own APIs (Extendable)
rust
let web3 = Web3::new(transport);
web3.api::<CustomNamespace>().custom_method().wait().unwrap()
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.11.0", default-features = false, features = ["http"] }