Javascript module for interacting with pTokens.
npm install ptokens
import pTokens from 'ptokens'
const ptokens = new pTokens({
pbtc: {
ethPrivateKey: 'Eth private key',
ethProvider: 'Eth provider',
btcNetwork: 'testnet', //'testnet' or 'bitcoin', default 'testnet'
defaultEndpoint: 'https://......' //optional
}
})
It is possible to pass a standard Ethereum Provider as the ethProvider
value, such as the one injected
into the content script of each web page by Metamask(window.web3.currentProvider
).
import pTokens from 'ptokens'
if (window.web3) {
const ptokens = new pTokens({
pbtc: {
ethProvider: window.web3.currentProvider,
btcNetwork: 'bitcoin'
}
})
} else {
console.log('No web3 detected')
}
const depositAddress = await ptokens.pbtc.getDepositAddress(ethAddress)
console.log(depositAddress.toString())
//fund the BTC address just generated (not ptokens.js stuff)
depositAddress.waitForDeposit()
.once('onBtcTxBroadcasted', tx => ... )
.once('onBtcTxConfirmed', tx => ...)
.once('onNodeReceivedTx', tx => ...)
.once('onNodeBroadcastedTx', tx => ...)
.once('onEthTxConfirmed', tx => ...)
.then(res => ...))
Clone the ptokens.js
repo:
git clone https://github.com/provable-things/ptokens.js.git
Switch into the ptokens.js
:
cd ptokens.js
Install and link dependencies:
npm run init
Build all packages
npm run build
Bootstrap all packages
npm run bootstrap
npm run test
Please be sure to have installed mkdocs
, python 2.7
and pip
.
Switch into resources
folder:
cd resources
If you want to run the documentation locally:
mkdocs serve
If you want to build the documentation:
mkdocs build