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
npm install @zippie/vault-web3-provider
npm install
npm run test
- eth.sign()
- eth.getAccounts()
- eth.getBalance()
- eth.signTransaction()
- eth.personal.sign()
import Vault from '@zippie/vault-api'
import * as zippieprovider from '@zippie/vault-web3-provider'
import * as Web3 from 'web3'
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)
}
);
on the ethereum network of your choice .eg kovan, ropsten, mainnet
var ethereum = zippieprovider.init(vault, { network: 'kovan' })
Set up some accounts using a vault key path
zippieprovider
.addAccount('m/0')
.then((address) => {
console.log(address)
}
);
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.