
Product
Socket for Jira Is Now Available
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.
element-js-tron
Advanced tools
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环境下使用,需要配置环境变量
# 用于操作的钱包私钥
PK_TAKER = xxxxx
PK_MAKER = xxxxx
# trongrid网络到APIKEY
TRON_PRO_API_KEY = xxxxx-xxxx-xxxxx-xxxxx-xxxxx
注意:将.env加入到.gitignore中,避免被提交
npm install dotenv
const dotenv = require('dotenv');
dotenv.config();
/* 0. 引入SDK */
import sdk from "element-js-tron";
const { ElementOrders, Network, AssetFactory, ElementSchemaName } = sdk;
/* 1. 初始化tronWeb */
/* 浏览器环境下 */
// const {tronWeb} = window;
/* node环境下,配置privateKey可以避免弹窗签名 */
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 },
});
/* 2. 初始化SDK */
const networkName = Network.Shasta;
const sdk_orders = new ElementOrders(tronWeb, { networkName });
/* 3. 登录,获取后续api操作所需token */
await sdk_orders.login();
// 然后就可以进行订单操作了
/* 4. 如需创建资产,可通过以下两种方法获取工厂类 */
/* 4.1 从sdk_orders中获取工厂类 */
const sdk_fab = sdk_orders.assetFactory
/* 4.2 new AssetFactory */
// const sdk_fab = new AssetFactory(tronWeb, { networkName })
/* 然后就可以 */
// sdk_fab.createAsset721(...); // 创建721资产合约
// sdk_fab.mint721(...); // 铸造721资产
sdk_fab.createAsset721(name,symbol,baseUrl,options)
方法说明
/**
* 部署ERC721合约,返回合约地址
* @param {string} name - 合约名称
* @param {string} symbol - 合约符号
* @param {string} baseUrl - 合约metadata的baseUrl
* @param {object} [options] - 可选参数,参考 https://cn.developers.tron.network/reference/tronweb-createsmartcontract
* @returns {Promise<{txHash,txSend}>} Promise对象,包括交易hash和广播事件接受器,可以通过await txSend获取创建的合约地址
*/
async createAsset721(name: string, symbol: string, baseUrl: string, options?: any)
方法使用示例
const sdk_fab = ...
const createRes = await sdk_fab.createAsset721(
'MyNFTSymbol', // Symbol
'MyNFTName', // Name
'https://ipfs.io/ipfs/QmPMc4tcBsMqLRuCQtPmPe84bpSjrC3Ky7t3JWuHXYB4aS/' // metadata json url
)
const output = await createRes.txSend.catch((err) => console.log(err))
// 得到新创建的合约地址
const nftContract = output.contract_address
sdk_fab.mint721(nftContract, toAddress,url)
方法说明
/**
*
* @param {string} assetAddr - NFT合约地址,指定在哪个合约中铸造NFT
* @param {string} to - NFT token接收者地址
* @param {string} [url] - 可选,NFT metadata的baseUrl
* @returns Promise
*/
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
FAQs
Javascript SDK for the Element
We found that element-js-tron demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.