Skip to content
Secure account management for Ethereum blockchains
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci solution: revert changes to rustup installer on circleci Apr 30, 2019
benches drop rustc-serialize support (#295) Aug 15, 2018
docs
src
tests
.appveyor.yml
.editorconfig
.gitignore Add CircleCI config for MacOS builds May 14, 2018
.travis.yml
Cargo.toml
LICENSE Initial commit Feb 23, 2017
README.md
rustfmt.toml
shell.nix

README.md

Emerald-rs - Rust library to operate Ethereum blockchains

Travis CI Circle CI AppVeyor Coveralls Crates License

NOTE:

An offline wallet, also known as cold storage, provides the highest level of security for savings.
It involves storing a wallet in a secured place that is not connected to the network (air-gapped).
When done properly, it can offer a very good protection against computer vulnerabilities.

Distributed as a Rust crate or can be embedded via foreign function interface (FFI).

For minimalistic CLI tool refer to Emerald Console, or if you looking for a fully-featured UI wallet, take a look at our Emerald Wallet

Features

General

  • Create and read Private Keys
  • Compatible with Parity and Geth private key JSON files
  • Import Private Key from Mnemonic Phrase
  • Support of Ledger Nano hardware wallet
  • Transactions signing

Installation

Ensure you have these dependencies installed:

openssl pkgconfig rustc cargo clang

cargo and rustc should be at least versions 0.18 and 1.17 respectively.

Should your distribution or operating system not have a recent cargo and rustc binaries, you can install them from: http://doc.crates.io/

$ cargo install emerald-cli

If you use Nix you may execute the nix-shell command in your cloned repository and all dependencies will be made available in your environment automatically.

Examples

extern crate emerald_core as emerald;

use std::net::SocketAddr;

fn main() {
    let addr = "127.0.0.1:1920"
        .parse::<SocketAddr>()
        .expect("Expect to parse address");

    emerald::start(&addr, None, None);
}

References

JSON-RPC API

Contact

Chat with us via Gitter

License

Copyright 2019 ETCDEV GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

You can’t perform that action at this time.