0.0.16 • Published 6 years ago
Share package Swapy Identity API Swapy Identity API aims to ease the interaction with Swapy financial identities. The current implementation was designed to be used on browsers and it provides methods to:
Create personal and multi sig identities; Manage identity's data on IPFS and Ethereum; Forward transactions through a personal identity; Create, sign and execute transactions on multi sig identities; Decentralized attestation of identitiy's credentials on IPFS with QRCode for third-parties; Check out our smart contracts and Wiki for more details around Swapy Identity Protocol.
Install The API is available on NPM. So, install it
npm install @swapynetwork/swapy-identity-api
Usage Guide Init the API with a first account, Ethereum http provider and network parameters as well.
import { Api } from '@swapynetwork/swapy-identity-api'
const api = new Api('<0xPrivateKey>','<ethereumHttpProvider')
Doc Apinew Api(privateKey,httpProvider,_networkName) .createPersonalIdentity(profileDataNodes, opt) : Promise.<Object, Error> .getProfileData(identity, fetchData) : Promise.<Object, Error> .insertProfileData(profileNodes, identity, multiSig, opt) : Promise.<Object, Error> .updateProfileData(nodeLabel, data, identity, multiSig, opt) : Promise.<Object, Error> .getTokenBalance(identity) : Integer .sellIdentityData(identity, saleNodes, price) : String .buyIdentityData(identity, seller, saleNodes, price, opt) : Object .createPersonalIdentity(profileDataNodes, opt) Instantiates a new personal identity
Input Type Description Default value profileDataNodes Object[] Initial profile data [] profileDataNodes.parentLabel String Parent node label - profileDataNodes.label String Node label - profileDataNodes.data String Leaf content - profileDataNodes.childrens Object[] Node childrens - opt Object Transaction options {from: null, gas: null, gasPrice: null} opt.from String Wallet address First account set opt.gas Integer GAS limit 4500000 opt.gasPrice BigNumber GAS price 20 gwei
Output Description Promise<Object, Error> A promise that resolves with the transaction object or rejects with an error
.getProfileData(identity, fetchData) Returns the profile data of an identity
Input Type Description Default value identity String Identity's contract address - fetchData Boolean Returns the data value false
Output Description Promise<Object, Error> A promise that resolves with the profile object or rejects with an error
.insertProfileData(profileNodes, identity, multiSig, opt) Inserts nodes on the profile tree
Input Type Description Default value profileNodes Object[] Insertions [] profileNodes.parentLabel String Parent node label - profileNodes.label String Node label - profileNodes.data String Leaf content - profileNodes.childrens Object[] Node childrens - identity String Identity's contract address - multiSig Boolean multi sig identity false opt Object Transaction options {from: null, gas: null, gasPrice: null} opt.from String Wallet address First account set opt.gas Integer GAS limit 4500000 opt.gasPrice BigNumber GAS price 20 gwei
Output Description Promise<Object, Error> A promise that resolves with the transaction object or rejects with an error
.updateProfileData(profileNodes, identity, multiSig, opt) Inserts nodes on the profile tree
Input Type Description Default value nodeLabel String Node label - data String New content - identity String Identity's contract address - multiSig Boolean multi sig identity false opt Object Transaction options {from: null, gas: null, gasPrice: null} opt.from String Wallet address First account set opt.gas Integer GAS limit 4500000 opt.gasPrice BigNumber GAS price 20 gwei
Output Description Promise<Object, Error> A promise that resolves with the transaction object or rejects with an error
.getTokenBalance(identity) Returns Identity's Swapy Token balance
Input Type Description Default value identity String Identity's contract address -
Output Description Integer Swapy Token balance
.getTokenBalance(identity) Returns Identity's Swapy Token balance
Input Type Description Default value identity String Identity's contract address -
Output Description Integer Swapy Token balance
.sellIdentityData(identity, saleNodes, price) Generates a qrCode image that contains the sale arguments
Input Type Description Default value identity String Identity's contract address - saleNodes Object[] Profile Nodes to be sold - saleNodes.label String Node label - saleNodes.price Integer Individual node price - price Integer General sale price -
Output Description String QRCode image url
.buyIdentityData(identity, seller, saleNodes, price, opt) Transfer tokens to seller's identity and retrieve the data bought
Input Type Description Default value identity String Buyer's identity contract address - seller String Seller's identity contract address - saleNodes Object[] Profile Nodes to be sold - saleNodes.label String Node label - price Integer Sale price - opt Object Transaction options {from: null, gas: null, gasPrice: null} opt.from String Wallet address First account set opt.gas Integer GAS limit 4500000 opt.gasPrice BigNumber GAS price 20 gwei
Output Description Object Data Bought