FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

0xsequence/ethkit: Ethereum dev toolkit for Go · GitHub

Repository navigation

Public

About

Ethereum dev toolkit for Go

Topics

Resources

Stars

142 stars

Watchers

18 watching

Forks

Repository files navigation

=========================================================================================
________________________________/\\\_____________________________________________________
________________________________\/\\\___________/\\\_____________________________________
______________________/\\\_______\/\\\__________\/\\\___________/\\\______/\\\___________
________/\\\\\\\\___/\\\\\\\\\\\__\/\\\__________\/\\\___ /\\___\///____/\\\\\\\\\\\_____
_______/\\\         \////\\\////___\/\\\\\\\\\\___\/\\\_ /\\\___________\////\\\////_____
_______/\\\\\\\\\\\_____\/\\\_______\/\\\/////\\\__\/\\\\\\_______\/\\\_____\/\\\________
_______\//\\\            \/\\\_______\/\\\___\/\\\__\/\\\__\/\\\___\/\\\_____\/\\\_______
________\//\\\\\\\\\\_____\//\\\\\____\/\\\___\/\\\__\/\\\__\/\\\___\/\\\_____\//\\\\\___
_________\///////////______\//////_____\///____\///___\///___\///____\///______\/////____

==================================== we <3 Ethereum =====================================

Ethkit is an Ethereum CLI and Go development kit designed to make it easier to use and develop for Ethereum.

Ethkit CLI

Ethkit comes equipped with the ethkit CLI providing:

  • Wallet - manage Ethereum wallets & accounts. restore wallets from a secret mnemonic. with scrypt wallet encryption support.
  • Abigen - generate Go code from an ABI artifact file to interact with or deploy a smart contract.
  • Artifacts - parse details from a Truffle artifact file from command line such as contract bytecode or the json abi
  • Balance - retrieve the balance of an account at any block height for any supported network via RPC
  • Block - retrieve the block information based on block height (or tag) and filtered by optional input parameters

Install

go install github.com/0xsequence/ethkit/cmd/ethkit@latest

Run

ethkit [command]

Commands

wallet

wallet handles encrypted Ethereum wallet creation and management in user-supplied keyfiles. It allows users to create a new Ethereum wallet, import an existing Ethereum wallet from a secret mnemonic, or print an existing wallet's secret mnemonic.

Usage:
  ethkit wallet [flags]

Flags:
  -h, --help              help for wallet
      --import-mnemonic   import a secret mnemonic to a new keyfile
      --keyfile string    wallet key file path
      --new               create a new wallet and save it to the keyfile
      --print-account     print wallet account address from keyfile (default) (default true)
      --print-mnemonic    print wallet secret mnemonic from keyfile (danger!)

abigen

abigen generates Go contract client code from a JSON truffle artifacts file.

Usage:
  ethkit abigen [flags]

Flags:
      --abiFile string         path to abi json file
      --artifactsFile string   path to truffle contract artifacts file
  -h, --help                   help for abigen
      --lang string            target language, supported: [go], default=go
      --outFile string         outFile (optional), default=stdout
      --pkg string             pkg (optional)
      --type string            type (optional)

artifacts

artifacts prints the contract ABI or bytecode from a user-supplied truffle artifacts file.

Usage:
  ethkit artifacts [flags]

Flags:
      --abi           abi
      --bytecode      bytecode
      --file string   path to truffle contract artifacts file (required)
  -h, --help          help for artifacts

balance

balance retrieves the balance of an account via RPC by a provided address at a predefined block height.

Usage:
  ethkit balance [account] [flags]

Flags:
  -B, --block string     The block height to query at (default "latest")
  -e, --ether            Format the balance in ether
  -h, --help             help for balance
  -r, --rpc-url string   The RPC endpoint to the blockchain node to interact with

block

block retrieves a block by a provided block height or tag via RPC

Usage:
  ethkit block [number|tag] [flags]

Aliases:
  block, bl

Flags:
  -f, --field string     Get the specific field of a block
      --full             Get the full block information
  -h, --help             help for block
  -j, --json             Print the block as JSON

Ethkit Go Development Library

Ethkit is a very capable Ethereum development library for writing systems in Go that interface with an Ethereum-compatible network (mainnet/testnet or another EVM sidechain). We use it in the Sequence stack for many micro-services in our infrastructure, we hope you enjoy it too.

Packages:

  • ethartifacts: simple pkg to parse Truffle artifact file
  • ethcoder: encoding/decoding libraries for smart contracts and transactions
  • ethdeploy: simple method to deploy contract bytecode to a network
  • ethfinalizer: a wallet adapter for guaranteeing transaction inclusion
  • ethgas: fetch the latest gas price of a network or track over a period of time
  • ethmonitor: easily monitor block production, transactions and logs of a chain; with re-org support
  • ethrpc: http client for Ethereum json-rpc
  • ethwallet: wallet for Ethereum with support for wallet mnemonics (BIP-39)

License

Please see LICENSE for full details.

TL;DR

  • All ethkit source is licensed under the MIT license, copyright (c) 2018-present Sequence Platforms ULC
  • All vendored+modified go-ethereum source is licensed under the original LGPLv3 license
  • All vendored source from go.mod dependencies is licensed under their respective licenses in ./vendor

About

Ethereum dev toolkit for Go

Topics

Resources

Stars

142 stars

Watchers

18 watching

Forks

Releases

Packages

Used by

Contributors

Languages


Back | FazBrowse Home | New Git URL