Giter Site home page Giter Site logo

rrecuero / clevis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from austintgriffith/clevis

0.0 1.0 0.0 280 KB

🗜️Ethereum blockchain orchestration, testing, and command line interface.

Home Page: http://clevis.io

License: MIT License

JavaScript 94.54% Dockerfile 1.53% Shell 3.46% CSS 0.47%

clevis's Introduction

🗜️clevis

Ethereum blockchain orchestration, testing, CLI, and Dapp scaffolding.

install

easiest: use docker (it handles the environment and RPC node for you):

docker run -ti --rm --name clevis -p 3000:3000 -p 8545:8545 \
  -v ~/your-dapp-directory:/dapp austingriffith/clevis

OR install/link for the source:

git clone https://github.com/austintgriffith/clevis.git
cd clevis
npm install
sudo npm link

OR try an npm install:

sudo npm install --unsafe-perm -g clevis@latest

If you aren't using docker make sure you install ganache-cli:

npm install -g ganache-cli

Read full article and watch screencast here!

demo

Clevis Demo Video

docker options

attach to already running clevis container

docker exec -ti clevis bash

external RPC

docker run -ti --rm --name clevis --env network="http://10.0.0.107:8545" \
  -p 3000:3000 -p 8545:8545 -v ~/your-dapp-directory:/dapp austingriffith/clevis

Automatic Rinkeby Geth Node

docker run -ti --rm --name clevis --env network="rinkeby" \
  -p 3000:3000 -p 8545:8545 -v ~/your-dapp-directory:/dapp austingriffith/clevis

Automatic Ropsten Geth Node

docker run -ti --rm --name clevis --env network="ropsten" \
  -p 3000:3000 -p 8545:8545 -v ~/your-dapp-directory:/dapp austingriffith/clevis

Automatic Mainnet Geth Node

docker run -ti --rm --name clevis --env network="mainnet." \
  -p 3000:3000 -p 8545:8545 -v ~/your-dapp-directory:/dapp austingriffith/clevis

Docker build from Clevis Repo

git clone https://github.com/austintgriffith/clevis.git
cd clevis
docker build . -t clevis
docker run -ti --rm --name clevis -p 3000:3000 -p 8545:8545 -v ~/your-dapp-directory:/dapp clevis

troubleshooting

Right now the web3 dependencies are not very well supported and installs can fail on certain machines.

I would recommend using Docker and the container model because it handles the environment and geth node for you.

WARNING if you get this error: gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/clevis/node_modules/scrypt/build'

rm -rf .node-gyp
sudo npm install --unsafe-perm -g clevis@latest

If you have other errors or problems, let's get this list populated. Shoot me an email and let's debug: [email protected]

commands/examples

help

clevis help

lists available commands and usage

init

clevis init

installs/updates latest version, creates the react app, and initializes configuration

version

clevis version

lists current version

update

clevis update

loads latest prices and standard gas and updates config

accounts

clevis accounts

lists accounts from Geth or other RPC endpoint

new [password]

clevis new ""

creates a new address

unlock [accountindex] ["password"]

clevis unlock 0 ""

unlocks account

send [amount] [fromindex] [toindex]

clevis send 0.1 0 1

send ether from one local account to another by index

sendTo [amount] [fromindex] [toaddress]

clevis sendTo 0.1 0 0x6FC8152A3C0E0aC8e61faf233915e1334b58fC77

send ether from local account to any address

balance [address]

clevis balance 0x6FC8152A3C0E0aC8e61faf233915e1334b58fC77

get balance of any Ethereum address or local index

sign [string] [accountindex] [password]

clevis sign "Hello World" 0 ""

sign a string with a local account

recover [string] [signature]

clevis recover "Hello World" "0x87dc7..."

recover address used to sign a string

sha3 [string]

clevis sha3 "Hello World"

generates the keccak256 hash of a string

sendData [amount] [fromindex] [toaddress] [data]

clevis sendData 0.001 0 0x6FC8152A3C0E0aC8e61faf233915e1334b58fC77 "0x01"

send ether and/or data to an account

create [contractname]

clevis create SomeContract

create a contract

compile [contractname]

clevis compile SomeContract

compile a contract

deploy [contractname] [accountindex]

clevis deploy SomeContract 0

deploy a contract

explain [contractname]

clevis explain SomeContract

list all contract commands/events etc

contract [scriptname] [contractname] [[accountIndex]] [[contractArguments...]]

clevis contract someFunction SomeContract 1 someArgument

interact with a contract these scripts are generated automatically using the ABI (list .clevis folder inside any contract folder to see all scripts)

you can also read from contracts:

clevis contract balanceOf Copper 0x2a906694d15df38f59e76ed3a5735f8aabcce9cb

test [testname]

clevis test compile

run mocha test from tests folder

wei [amount] [symbol]

clevis wei 0.1 ether

convert to wei from ether or others like gwei or szabo

hex [asciistring]

clevis hex "Hello World"

convert a string to hex

ascii [hexstring]

clevis ascii "0x48656c6c6f20576f726c64"

convert hex to a string

blockNumber

clevis blockNumber

get current block number

block [blocknumber]

clevis block 2618069

get block information

transaction [hash]

clevis transaction 0x474acab2ba2702a90c4b774d7cee7fe1364ca1df01735ecef188522f8ce40bc4

get transaction information

build

clevis build

builds static react site

upload [target]

clevis upload metatx.io

uploads static react site to s3 bucket named after url

invalidate [target]

clevis invalidate E3837d00567

invalidate cloudfront caching to show fresh content

demo

cleviscast

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.