fungi
v1.6.227
Published
``` ______ _ / ____/_ ______ ____ _(_) / /_ / / / / __ \/ __ `/ / / __/ / /_/ / / / / /_/ / / /_/ \__,_/_/ /_/\__, /_/ /____/
Downloads
224
Readme
______ _
/ ____/_ ______ ____ _(_)
/ /_ / / / / __ \/ __ `/ /
/ __/ / /_/ / / / / /_/ / /
/_/ \__,_/_/ /_/\__, /_/
/____/
Extensible command-line tool
Overview
Fungi is an Extensible command line tool. extensions come packaged in boxes.
Boxes
- DApp development (eosio cpp, eosio assemblyscript - TBD, solidity - TBD)
- More coming soon.
Demos
- helloworld -
- deploy token -
Getting stared
Prerequistes:
- Docker
- nodejs >= 10
- curl
- https://github.com/EOSIO/eos/blob/master/eosio_install.sh (not mandatory)
Install
npm install -g fungi
docker pull tmuskal/eosio.cdt
docker pull tmuskal/fungi-eosio-dev
Additional installation steps on windows:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
choco install -y vcbuildtools docker docker-machine docker-compose
docker-machine create -d hyperv default
Upgrade
npm update -g fungi
Test
fungi unbox helloworld --test
Usage inside a project
fungi --help
List Boxes
fungi list-boxes
Update Boxes Repo
fungi update --repos
Project structure
Directory structure:
extensions/
contracts/
frontends/
models/
test/
migrations/
utils/
services/
fungi-box.json
fungi-config.js
fungi-box.json:
{
"ignore": [
"README.md"
],
"commands": {
"Compile contracts": "fungi compile",
"Migrate contracts": "fungi migrate",
"Test contracts": "fungi test"
},
"install":{
"npm": {
}
},
"hooks": {
"post-unpack": "echo hello"
}
}
fungi-config.js
module.exports = {
defaultArgs:{
chain:"eos",
network:"development"
},
chains:{
eos:{
networks: {
development: {
host: "localhost",
port: 7545,
network_id: "*", // Match any network id
secured: false
},
jungle: {
host: "localhost",
port: 7545,
network_id: "*", // Match any network id
secured: false
},
mainnet:{
host: "localhost",
port: 7545,
network_id: "*", // Match any network id
secured: false
}
}
}
}
};