Giter Site home page Giter Site logo

immutability-io / vault-ethereum Goto Github PK

View Code? Open in Web Editor NEW
242.0 14.0 65.0 30.09 MB

A plugin that turns Vault into an Ethereum wallet.

Go 83.10% Shell 9.20% Dockerfile 0.61% HCL 0.30% Makefile 0.18% Solidity 6.61%
ethereum ethereum-wallet vault vault-ethereum vault-plugins hashicorp-vault go-ethereum keystore

vault-ethereum's Introduction

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

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.