@crypto/contract
Ethereum Contract Tools
Last updated 3 years ago by simov .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @crypto/contract 
SYNC missed versions from official npm registry.

Ethereum Contract Tool

Install

$ npm install -g @crypto/contract

Command Line Options

# print all available options
$ contract -h

Specify Contract File

# specify a contract file and enter prompt mode
$ contract -f <path_to_file>
# additionally specify the RPC host and port
$ contract -h amazing.com -p 9999 -f <path_to_file>

If omitted host defaults to localhost and port defaults to 6767.

Prompt Options

Compile

# compile the contract
contract$ compile

Deploy

# deploy the contract
contract$ deploy
# additionally set the account address to use when deploying
contract$ deploy -a <account_address>

If omitted account address defaults to the first account web3.eth.accounts[0].

# additionally set the gas amount to use when deploying
contract$ deploy -g <gas_amount>

If omitted the gas amount defaults to 1000000.

Init

# instantiate the contract
contract$ init -a <contract_address>

Set Name

# set contract instance name
contract$ name <name>
# enter interactive REPL mode
contract$ <name>

Execute Methods

# execute contract specific methods
contract$ name: newDocument('hash', {from: web3.eth.coinbase, gas: 1800000})

Watch for Events

# subscribe for specific event
contract$ notereth$ DocumentEvent({}, {fromBlock: 0, toBlock: 'latest'}).watch
# subscribe for all events
contract$ notereth$ allEvents({}, {fromBlock: 0, toBlock: 'latest'}).watch

Example

Basics

# specify contract file
$ contract -f <path_to_file>
# deploy the contract using the first unlocked account
contract$ deploy
# set contract instance name
contract$ name notereth
# enter contract interactive REPL
contract$ notereth
# execute methods from that contract
notereth$ notereth: newDocument('hash', {from: web3.eth.coinbase, gas: 1800000})

Watching

# instantiate the contract in two separate console windows at the same time
$ contract -f <path_to_file>
contract$ init -a 0x241bbd0ef9492aa17866c662b750f24003c812c6
contract$ name notereth
contract$ notereth
contract$ notereth:
# set a watcher in the first console window
contract$ notereth$ DocumentEvent({}, {fromBlock: 0, toBlock: 'latest'}).watch

Notice that the callback for the watch method is missing.

# execute some command in the second console window
contract$ notereth$ newDocument('hash', {from: web3.eth.coinbase, gas: 1800000})

Current Tags

  • 0.1.6                                ...           latest (3 years ago)

7 Versions

  • 0.1.6                                ...           3 years ago
  • 0.1.5                                ...           4 years ago
  • 0.1.4                                ...           4 years ago
  • 0.1.3                                ...           5 years ago
  • 0.1.2                                ...           5 years ago
  • 0.1.1                                ...           5 years ago
  • 0.1.0                                ...           5 years ago
Maintainers (2)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 9
Dependencies (11)
Dev Dependencies (5)
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |