https://github.com/semuelle/ecci
Status Embark plugin to make interaction with smart contracts a little easier
https://github.com/semuelle/ecci
embark embark-plugin status
Last synced: about 1 month ago
JSON representation
Status Embark plugin to make interaction with smart contracts a little easier
- Host: GitHub
- URL: https://github.com/semuelle/ecci
- Owner: semuelle
- Created: 2019-03-03T20:07:54.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T18:57:18.000Z (over 2 years ago)
- Last Synced: 2025-04-25T20:03:26.787Z (about 2 months ago)
- Topics: embark, embark-plugin, status
- Language: JavaScript
- Size: 10.7 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ECCÌ: Embark Console Contract Interaction
Status Embark plugin to make interaction with smart contracts a little easier. So instead of this
```
await MyERC20.methods.mint("0x6DC4Ae6F756287DA58EE29a0fba6676718EfC496", 100).send({ "from": "0x6DC4Ae6F756287DA58EE29a0fba6676718EfC496" })
```you can do this:
```
send mint { accounts[0], 100 }
```## Usage
1. Call the `init` function (`call init` or `send init`) to declare which contract you wish to interact with. Must be the contract's name.
```
call init MyERC20
```You can only interact with one contract at a time. Subsequent `init` calls will override the address you are interacting with.
2. Use `call` for constant functions, `send` for non-constant functions. Example:
```
call allowance { accounts[0], 0x2245EE61ee5Dbe58CEee388431A34E5e700A6a95 }
call owner
call balanceOf 0x2245EE61ee5Dbe58CEee388431A34E5e700A6a95 { from: "accounts[1]" }
send pause {} { from: "accounts[0]", gas: 100000 }
send mint { accounts[0], 100 } { from: "accounts[0]" }
```## Notes
### General
* Function parameters must be wrapped in curly braces and separated by comma if there is more than one, e.g.
```
call allowance { 0x2245EE61ee5Dbe58CEee388431A34E5e700A6a95, 0x2245EE61ee5Dbe58CEee388431A34E5e700A6a95 }
```* `call` and `send` options must always be wrapped in curly braces and follow (relaxed) JSON syntax.
* To call a function with options but no parameters, include empty braces in the call for the parameters:
```
send pause {} { from: "accounts[0]", gas: 100000 }
```### `web3.js` variables
You can use `web3.eth.defaultAccount` and `accounts` like in your regular Embark code instead of having to provide literal addresses.
### Single quotes, double quotes, no quotes
ECCÌ uses [JSON5](https://json5.org/), so JSON keys may be unquoted. Values must be either single- or double-quoted.