前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >USDT/DAPP授权原理 /USDT接口实现

USDT/DAPP授权原理 /USDT接口实现

原创
作者头像
用户10147166
发布2022-11-24 15:02:46
1.6K0
发布2022-11-24 15:02:46
举报
文章被收录于专栏:USDTUSDT

一、安装需求

http://AAA.com

http://bbb.com

http://ccc.com

需要三个域名

1、安装环境

a .服务器 centos7以上

//软件商店

b.nginx1.2以上

c.php7.3版本

c1.安装php扩展 redis和gmp

c2.删除所有php禁用函数(宝塔的软件商店,点击php设置,禁用函数,点击删除)

d.mysql5.7 + phpMyAdmin

e.redis6.26 或者reids5+

1.设置redis密码 (如果不设置 REDIS_PASSWORD=)

环境配置完成,即可上线程序。

调用TRC20合约的approve函数授权代币使用权给其他地址、

HTTP API :

demo:向某个

wallet/triggersmartcontract

curl -X POST https://127.0.0.1:8090/wallet/triggersmartcontract -d '{

"contract_address":"419E62BE7F4F103C36507CB2A753418791B1CDC182",

"function_selector":"approve(address,uint256)",

"parameter":"0000000000000000000000410FB357921DFB0E32CBC9D1B30F09AAD13017F2CD0000000000000000000000000000000000000000000000000000000000000064",

"fee_limit":100000000,

"call_value":0,

"owner_address":"41977C20977F412C2A1AA4EF3D49FEE5EC4C31CDFB"

}'

3、实现功能与页面:

下载链接:网盘下载

二、调用TRC20合约的transferFrom函数实现转账,配合approve方法使用

JAVA Tronweb示例:

const TronWeb = require('tronweb')

const HttpProvider = TronWeb.providers.HttpProvider;

const fullNode = new HttpProvider("https://127.0.0.1:8090");

const solidityNode = new HttpProvider("https://127.0.0.1:8090");

const eventServer = new HttpProvider("https://127.0.0.1:8090");

const privateKey = "your private key";

const tronWeb = new TronWeb(fullNode,solidityNode,eventServer,privateKey);

async function triggerSmartContract() {

// Address B transfers 10 USDT from address A to C: B calls transferFrom (A, C, 10)

const trc20ContractAddress = "TQQg4EL8o1BSeKJY4MJ8TB8XK7xufxFBvK";//contract address

try {

let contract = await tronWeb.contract().at(trc20ContractAddress);

//Use send to execute a non-pure or modify smart contract method on a given smart contract that modify or change values on the blockchain.

// These methods consume resources(bandwidth and energy) to perform as the changes need to be broadcasted out to the network.

await contract.transferFrom(

"TM2TmqauSEiRf16CyFgzHV2BVxBej...", //address _from

"TVDGpn4hCSzJ5nkHPLetk8KQBtwaT...", //address _to

100000 //amount

).send({

feeLimit: 10000000

}).then(output => {console.log('- Output:', output, '\n');});

} catch(error) {

console.error("trigger smart contract error",error)

}

}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档