ethier

module
v0.15.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2022 License: MIT

README

testing lint

Motivation

ethier (pronounced "easier" with a lisp) intends to:

  1. Gradually replace the reliance on JavaScript in Ethereum development with Go as it is (a) faster due to in-process backends for testing, and (b) more robust due to type safety. Although unlikely, ethier's "North Star" is a replacement for Truffle/Hardhat.
  2. Provide reusable Solidity functionality not covered by OpenZeppelin and, where appropriate, provide respective Go bindings with round-trip testing.

Versioning, stability, and production readiness

ethier uses Semantic Versioning 2.0.0. As the major version is currently zero, the API is open to change without warning.

Contracts are very thoroughly tested but have not been subject to audit nor widespread use. Early adopters are not only welcome, but will be greatly appreciated.

Why NPM if we're moving away from JavaScript?

Although ethier intends to use Go as much as possible, users may not, and NPM is the de facto standard in Ethereum development. While this gives us a weird mashup of go.mod and package.json, it's fit for purpose.

Directories

Path Synopsis
The eth package provides wrappers and functionality common to all Ethereum development.
The eth package provides wrappers and functionality common to all Ethereum development.
The ethier binary is a CLI tool for the @divergencetech/ethier suite of Solidity contracts and Go packages for Ethereum development.
The ethier binary is a CLI tool for the @divergencetech/ethier suite of Solidity contracts and Go packages for Ethereum development.
The ethtest package provides helpers for testing Ethereum smart contracts.
The ethtest package provides helpers for testing Ethereum smart contracts.
chainlinktest
Package chainlinktest provides test doubles for Chainlinks's VRF.
Package chainlinktest provides test doubles for Chainlinks's VRF.
chainlinktest/chainlinktestabi
Package chainlinktestabi is a generated package providing test doubles and real implementations of Chainlink contracts.
Package chainlinktestabi is a generated package providing test doubles and real implementations of Chainlink contracts.
openseatest
Package openseatest provides test doubles for OpenSea's Wyvern protocol.
Package openseatest provides test doubles for OpenSea's Wyvern protocol.
openseatest/openseatestabi
Package openseatestabi is a generated package providing test doubles of OpenSea contracts.
Package openseatestabi is a generated package providing test doubles of OpenSea contracts.
revert
Package revert provides means for testing Ethereum reverted execution.
Package revert provides means for testing Ethereum reverted execution.
tests

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL