SDK for APENFT marketplace base on Tron blockchain and TronLink wallet
开发者指南
目录
安装
npm install element-js-tron
sdk依赖tronlink钱包进行链上操作
在浏览器环境下直接使用TronLink注入到window.tronWeb
在node环境下使用,还需安装 tronweb,
npm install tronweb
配置
配置环境变量
如在node环境下使用,需要配置环境变量
- 在项目根目录下新建.env文件,内容如下
# 用于操作的钱包私钥
PK_TAKER = xxxxx
PK_MAKER = xxxxx
# trongrid网络到APIKEY
TRON_PRO_API_KEY = xxxxx-xxxx-xxxxx-xxxxx-xxxxx
注意:将.env加入到.gitignore中,避免被提交
- 安装dotenv
npm install dotenv
- 在项目文件中引入dotenv,并配置
const dotenv = require('dotenv');
dotenv.config();
初始化SDK
import sdk from "element-js-tron";
const { ElementOrders, Network, AssetFactory, ElementSchemaName } = sdk;
const tronWeb = new TronWeb({
fullHost: 'https://api.shasta.trongrid.io',
privateKey: process.env.PK_MAKER,
headers: { "TRON-PRO-API-KEY": process.env.TRON_PRO_API_KEY },
});
const networkName = Network.Shasta;
const sdk_orders = new ElementOrders(tronWeb, { networkName });
await sdk_orders.login();
const sdk_fab = sdk_orders.assetFactory
资产
创建合集
sdk_fab.createAsset721(name,symbol,baseUrl,options)
方法说明
async createAsset721(name: string, symbol: string, baseUrl: string, options?: any)
方法使用示例
const sdk_fab = ...
const createRes = await sdk_fab.createAsset721(
'MyNFTSymbol',
'MyNFTName',
'https://ipfs.io/ipfs/QmPMc4tcBsMqLRuCQtPmPe84bpSjrC3Ky7t3JWuHXYB4aS/'
)
const output = await createRes.txSend.catch((err) => console.log(err))
const nftContract = output.contract_address
铸造NFT
sdk_fab.mint721(nftContract, toAddress,url)
方法说明
async mint721(assetAddr, to, url)
方法使用示例
const nftContract = ...
const to = ...
const url = 'https://ipfs.io/ipfs/QmPMc4tcBsMqLRuCQtPmPe84bpSjrC3Ky7t3JWuHXYB4aS/1'
const defer = await sdk_fab.mint721(nftContract, to)
defer.txSend
.on('confirmation', (r) => console.log('confirmation', r))
.on('error', (r) => console.log('error', r))
await defer.txSend
订单
创建订单
接受订单
取消订单
查询订单