0.1.10 • Published 5 years ago

contracts-cli v0.1.10

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

contracts-cli

A command line tool for interacting with smart contracts

Prerequisites

Setup

from inside contracts-cli directory run:

❯ yarn
❯ yarn build
❯ yarn link

Run

to start the cli run contracts-cli from the command line passing an Ethereum client JSON-RPC URL and a relative path to a folder containing JSON ABI files of contracts you wish to interact with, e.g:

contracts-cli --abi-dir=./abi --rpc-url=https://ropsten.infura.io/FWLG9Y

other optional inputs include:

--testnet
--config-path=<path to config file, example below>

Config file (Optional)

Here you can set contract addresses you frequently interact with to save entering them in the cli each time, they just need a mapping to the names of your JSON ABI files, e.g:

{
  "contractAddresses": {
    "MyTokenContract": {
      "testnet": "0xe16f1563984209fe47f8236f8b01a03f03f957e4",
      "mainnet": "0xab2c7238198ad8b389666574f2d8bc411a4b7428"
    },
    "OtherContract": {
      "testnet": "0xcefd4590d131480f100ac58b845314a978b0ec70",
      "mainnet": "0xb2d2130530d77418b3e367fe162808887526e74d"
    },
  },
  rpcUrl: {
    "testnet": "https://ropsten.infura.io/<KEY>",
    "mainnet": "https://mainnet.infura.io/<KEY>"
  }
}

Usage

1. Select a wallet provider

  • Keystore JSON file
  • Private key
  • Mnemonic phrase
  • Ledger wallet (ensure ledger is unlocked, eth wallet is selected and browser support set to no)

2. Select a contract to interact with

  • You can add new contracts by dropping contract abi JSON files into abi folder, you can also optionally set addresses for contracts in config.json, if no address is set you will be prompted to provide one on contract selection.

3. Select or set contract address

3. Select contract method

4. Enter arguments and confirm

  • when passing uint values, you will have the option for unit conversion, possible units can be found here