1.4.17 • Published 4 years ago
@oxspacenpm/api v1.4.17
OxSpaceAPI
Programming interface for communicating with blockchain and OxSpace protocol.
It uses ethers.js.
Usage
Add the package: yarn add @oxspacenpm/api
Build the IOC container and pass any necessary config options:
import {
buildContainer,
APIContainer,
options,
Network
} from 'oxspace'
let container: APIContainer = buildContainer(options.Network(Network.Local))
Then you can get any service or provider:
import {
symbols,
protocol
} from 'oxspace'
import { utils } from 'ethers'
let bep20 = container.get<protocol.BEP20>(symbols.protocol.BEP20)
console.log(utils.formatEther(await bep20.totalSupply()))
If you have a provider or signer, make sure to register it with Web3Provider service before making any calls to other services:
import {
symbols,
Web3Provider
} from 'oxspace'
import { VoidSigner } from 'ethers'
let provider = container.get<Web3Provider>(symbols.utility.Web3Provider)
// For setting a provider
provider.setWeb3Provider(window.ethereum)
// For setting default signer if no provider is set
provider.setDefaultSigner(new VoidSigner())