@zippie/vault-web3-provider

0.1.2 • Public • Published

Zippie Vault Web3 Provider

Web3 Provider for Zippie Vault allowing for easy onboarding and access to Web3 DApps

Requests are signed locally using Vault Derived Keys and sent to query.zippie.org server for submission to the Ethereum Network

Dependencies

Install from npm repository

npm install @zippie/vault-web3-provider

Building

npm install

Run Tests

npm run test

Web3 Support

  • eth.sign()
  • eth.getAccounts()
  • eth.getBalance()
  • eth.signTransaction()
  • eth.personal.sign()

How to Use

Imports

import Vault from '@zippie/vault-api'
import * as zippieprovider from '@zippie/vault-web3-provider'
import * as Web3 from 'web3'

Initialise the Vault

this will redirect the user on boarding if required

const vault = new Vault()
vault
  .setup()
  .then(_ => {
    vault.signin().then(_ => {
    console.log('Initialised Vault: ' + result)
    })
  },
  (error) => {
    console.log('Error initialising vault: ' + error)
  }
);

Initialise Web3 Provider

on the ethereum network of your choice .eg kovan, ropsten, mainnet

var ethereum = zippieprovider.init(vault, { network: 'kovan' })

Add Accounts

Set up some accounts using a vault key path

 zippieprovider
  .addAccount('m/0')
  .then((address) => {
    console.log(address)
  }
);

Initialise Web3.js

and finally set up Web3.js

if(window.web3 === undefined) {
  window.web3 = new Web3(ethereum)
}

web3.eth.getAccounts()
  .then((accounts) => {
    console.log('accounts: ' + accounts)
  }
);

After that you now have a working web3.js object and can use the standard API.

License

BSD-3-Clause

Readme

Keywords

none

Package Sidebar

Install

npm i @zippie/vault-web3-provider

Weekly Downloads

12

Version

0.1.2

License

BSD-3-Clause

Unpacked Size

14.3 kB

Total Files

7

Last publish

Collaborators

  • cosmin.ionascu
  • p4ker
  • tswindell
  • stskeeps-zippie