Skip to content

immutability-io/vault-ethereum

Repository files navigation

Vault Ethereum Plugin v0.3.0

The first incarnation of the vault-ethereum plugin was an exercise in experimenting with an idea and proving a point. 2 years later, I feel both ends were acheived.

Having had several occasions to take this PoC to production with companies in the financial and blockchain communities (plug for Immutability, LLC's custom development!) I've decided to release an upgrade that tries to make the development experience better. I've also restricted the surface area of the plugin to a minimum.

Excepting the convert API, which I keep for entertainment value.

Testing - in one terminal...

$ cd $GOPATH/src/github.com/immutability-io/vault-ethereum
$ make docker-build
$ make run

Then, open a different terminal...

$ cd $GOPATH/src/github.com/immutability-io/vault-ethereum/docker

# Authenticate
$ source ./local-test.sh auth
$ ./demo.sh > README.md

View the demo

If everything worked... And you have run the command above, your demo is had by viewing the results:

$ cat ./README.md

If everything didn't work, tell me why.

What is the API?

The best way to understand the API is to use the path-help command. For example:

$ vault path-help vault-ethereum/accounts/bob/deploy                                                                [±new-version ●]
Request:        accounts/bob/deploy
Matching Route: ^accounts/(?P<name>\w(([\w-.]+)?\w)?)/deploy$

Deploy a smart contract from an account.

## PARAMETERS

    abi (string)

        The contract ABI.

    address (string)

        <no description>

    bin (string)

        The compiled smart contract.

    gas_limit (string)

        The gas limit for the transaction - defaults to 0 meaning estimate.

    name (string)

        <no description>

    version (string)

        The smart contract version.

## DESCRIPTION

Deploy a smart contract to the network.

I still need help

Please reach out to me.

Tip

Supporting OSS is very hard.

This is my ETH address. The private keys are managed by this plugin:

0x68350c4c58eE921B30A4B1230BF6B14441B46981