1.0.8 • Published 5 years ago
sero-pp v1.0.8
sero-pp
SERO js-sdk for popup and pullup DApp market .
Whate is sero-pp?
sero-pp provided to developers who need to develop DApps in the popup and pullup DApp market. It provides interface for querying accounts and executing smart contract methods.
How to use sero-pp
Installation
npm install sero-ppUsage
import seropp from 'sero-pp'APIs
- seropp.init
- seropp.getAccountList
- seropp.getAccountDetail
- seropp.call
- seropp.executeContract
- seropp.estimateGas
- seropp.getInfo
seropp.init
It must be inited before invoke other interface.
const dapp = {
name: "Hello DApp",
contractAddress: contractAddress,
github: "https://github.com/sero-cash/sero-pp/example",
author: "tom",
url: "http://127.0.0.1:3000",
logo: "http://127.0.0.1:3000/logo192.png",
}
seropp.init(dapp,function (rest) {
console.log("init result >>> " , rest);
})Account structure
Namewallet namePKis the address of the account, can be used as a tag for the account, not as a transfer from address.MainPKrcan be used as a common address,callandexecutesmart contract.Balanceis a map. key = currency ,value = Minimum unit amount.
Transaction structure
fromUse PKtoUse Contract AddressdataIt is the data that return fromserojspackMethodvalueIt is amount of transfer to the contract. It need contract supportpayablemethod.cyIt is short word of currency ,defaultSEROgasIt is pay to minergasPricePrice of gascatgCatagory of ticketvalueValue of ticket
Usage
seropp.getAccountList
Return all wallet account
seropp.getAccountList(function(accounts){
console.log(accounts);
});Result:
[{
"Name":"Tom",
"PK": "kvaztfuz3ZS6sNcksQYZpdGC1rUwcuv1aPkuzkLdgeNSvq5FQiURuBsqghLCY3MkxZLNm7WQ9yV2ib2UWoRpJys",
"MainPKr": "fHBQfR5t9j3D4CsKQG78sQ3Qzdz9SS6m3XsgvgkNcpKjD1TMBEVmcJ4vhDUpkZrvPtE47DnzxRjz4Gk7xMaGZfxstnMeBjZF1dWeQaC3dxLrPPa4wQoGdXeJuihdTKwxf5K",
"Balance": {
"SERO": 88999438296000000000
}
}]seropp.getAccountDetail
Return the PK wallet account
seropp.getAccountDetail(PK,function(account){
console.log(account);
});Result:
{
"Name":"Tom",
"PK": "kvaztfuz3ZS6sNcksQYZpdGC1rUwcuv1aPkuzkLdgeNSvq5FQiURuBsqghLCY3MkxZLNm7WQ9yV2ib2UWoRpJys",
"MainPKr": "fHBQfR5t9j3D4CsKQG78sQ3Qzdz9SS6m3XsgvgkNcpKjD1TMBEVmcJ4vhDUpkZrvPtE47DnzxRjz4Gk7xMaGZfxstnMeBjZF1dWeQaC3dxLrPPa4wQoGdXeJuihdTKwxf5K",
"Balance": {
"SERO": 88999438296000000000
}
}seropp.executeContract
Send a transaction to update smart contract state. It is asynchronous on the block chain. and return transaction hash.
seropp.executeContract(tx,function(txHash){
console.log(txHash);
});seropp.call
It use to get data from gero node . and it will be convert to basic data structure.
seropp.call(data,function(rest){
console.log(rest);
});seropp.estimateGas
It use to estimate gas begin send transaction .
seropp.estimateGas(data,function(gas){
console.log(gas);
});Embed Popup wallet using iframe in DApp
let walletUrl = 'http://popup-github.sero.cash/?language=en_US';
<iframe className="popupiframe" src={walletUrl} frameBorder="no" />