=========================================================================================
________________________________/\\\_____________________________________________________
________________________________\/\\\___________/\\\_____________________________________
______________________/\\\_______\/\\\__________\/\\\___________/\\\______/\\\___________
________/\\\\\\\\___/\\\\\\\\\\\__\/\\\__________\/\\\___ /\\___\///____/\\\\\\\\\\\_____
_______/\\\ \////\\\////___\/\\\\\\\\\\___\/\\\_ /\\\___________\////\\\////_____
_______/\\\\\\\\\\\_____\/\\\_______\/\\\/////\\\__\/\\\\\\_______\/\\\_____\/\\\________
_______\//\\\ \/\\\_______\/\\\___\/\\\__\/\\\__\/\\\___\/\\\_____\/\\\_______
________\//\\\\\\\\\\_____\//\\\\\____\/\\\___\/\\\__\/\\\__\/\\\___\/\\\_____\//\\\\\___
_________\///////////______\//////_____\///____\///___\///___\///____\///______\/////____
==================================== we <3 Ethereum =====================================
Ethkit is an Ethereum CLI and Go development kit designed to make it easier to use and develop for Ethereum.
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
go install github.com/0xsequence/ethkit/cmd/ethkit@latest
ethkit [command]
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
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
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
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
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 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 fileethcoder
: encoding/decoding libraries for smart contracts and transactionsethdeploy
: simple method to deploy contract bytecode to a networkethgas
: fetch the latest gas price of a network or track over a period of timeethmonitor
: easily monitor block production, transactions and logs of a chain; with re-org supportethrpc
: http client for Ethereum json-rpcethwallet
: wallet for Ethereum with support for wallet mnemonics (BIP-39)
Please see LICENSE for full details.
TL;DR
- All ethkit source is licensed under the MIT license, copyright (c) 2018-present Horizon Blockchain Games Inc.
- 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