Code Monkey home page Code Monkey logo

ptokens.js's Introduction

ptokens.js | pTokens Javascript API

Javascript module for interacting with pTokens.

 


 

🚀 Installation:

npm install ptokens

 


 

⚡ Usage:

import pTokens from 'ptokens'
import { HttpProvider } from 'ptokens-providers' 
import { Node } from 'ptokens-node'

const ptokens = new pTokens({
  pbtc: {
    blockchain: 'ETH', // or EOS
    network: 'testnet', // 'testnet' or 'mainnet', default 'testnet'

    // if you want to be more detailed
    hostBlockchain: 'ETH',
    hostNetwork: 'testnet_ropsten', // possible values are testnet_jungle2, testnet_ropsten and mainnet
    nativeBlockchain: 'BTC'
    nativeNetwork: 'testnet'

    // optionals
    ethPrivateKey: 'Eth private key',
    ethProvider: 'Eth provider', // or instance of Web3 provider
    eosPrivateKey: 'Eos Private Key',
    eosRpc: 'https:/...' // or also an instance of JsonRpc
    eosSignatureProvider: '....' // instance of JsSignatureProvider
    defaultNode: new Node({
      pToken: 'pBTC',
      blockchain: 'ETH',
      provider: new HttpProvider(
        'node endpoint',
        {
          'Access-Control-Allow-Origin': '*',
          ...
        }
      )
    })
  }
})

 

Example of a pBTC pegin on Ethereum

import { pBTC } from 'ptokens-pbtc'
import { constants } from 'ptokens-utils'

const pbtc = new pBTC({
  blockchain: constants.blockchains.Ethereum,
  network: constants.networks.EthereumMainnet,
  ethPrivateKey: 'Eth private key',
  ethProvider: 'Eth provider', // or instance of Web3 provider
})

const depositAddress = await pbtc.getDepositAddress(ethAddress)
    
//fund the BTC address just generated (not ptokens.js stuff)

depositAddress.waitForDeposit()
  .once('nativeTxBroadcasted', tx => ... )
  .once('nativeTxConfirmed', tx => ...)
  .once('nodeReceivedTx', tx => ...)
  .once('nodeBroadcastedTx', tx => ...)
  .once('hostTxConfirmed', tx => ...)
  .then(res => ...))

 


 

🏡 Environment setup:

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

 


 

💂‍♂️ Tests:

npm run test

ptokens.js's People

Contributors

allemanfredi avatar deepsourcebot avatar bertani avatar

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.