ens

Crates.ioens
lib.rsens
version0.1.0
sourcesrc
created_at2018-08-07 13:56:09.837964
updated_at2018-08-07 13:56:09.837964
descriptionAccess the Ethereum Name Service
homepagehttps://github.com/hhatto/rust-ens
repositoryhttps://github.com/hhatto/rust-ens
max_upload_size
id78209
size33,990
Hideo Hattori (hhatto)

documentation

https://docs.rs/ens

README

rust-ens

Rust ENS interface, based on rust-web3.

Usage

Cargo.toml

[dependencies]
ens = "0.1"
extern crate ens;
extern crate web3;

use ens::ENS;

fn main() {
    let (_evloop, transport) = web3::transports::Http::new(
        "http://localhost:8545",
    ).unwrap();

    let ens_name = "hexacosa.eth";

    let ens = ENS::new(web3::Web3::new(transport));
    match ens.address(ens_name) {
        Ok(addr) => println!("{:?}", addr),
        Err(_) => println!("unknown"),
    };
}

for Developer

Contract

use ENS Contract from https://github.com/ensdomains/ens/tree/master/contracts .

  • ENS.sol
  • PublicResolver.sol
$ solc --bin --abi --optimize contract/PublicResolver.sol -o contract
$ ls contract
ENS.abi             ENS.bin             ENS.sol             PublicResolver.abi  PublicResolver.bin  PublicResolver.sol
Commit count: 9

cargo fmt