使用 Python 发送 TRON-USDT 和 TRX 交易

本文档介绍如何使用Python和tronpy库发送TRON网络上的USDT(TRC-20)和TRX交易。本文将详细介绍设置环境、获取钱包地址和私钥、编写并执行交易脚本的步骤。

本文档介绍如何使用Python和tronpy库发送TRON网络上的USDT(TRC-20)和TRX交易。本文将详细介绍设置环境、获取钱包地址和私钥、编写并执行交易脚本的步骤。

一、前提准备

1.1 环境设置

确保你已经安装了tronpy库:

pip install tronpy

1.2 获取钱包地址和私钥

在进行任何交易之前,确保拥有以下信息:

  • TRON钱包地址
  • 对应的私钥

二、发送USDT(TRC-20)交易

2.1 流程

  • 第一步:初始化Tron客户端:client = Tron() 创建一个Tron客户端对象。

  • 第二步:设置钱包地址和私钥:用你的钱包地址和私钥替换对应的占位符。

  • 第三步:设置接收方地址和转账金额:to_address 是接收方地址,amount_usdt 是你要发送的USDT数量。

  • 第四步:设置合约地址:USDT合约地址:TRC-20 USDT的合约地址是固定的 TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t。

  • 第五步:创建私钥对象:用你的私钥字符串创建一个PrivateKey对象。

  • 第六步:创建合约对象:通过合约地址获取USDT合约对象。

  • 第七步:构建交易:调用transfer方法构建交易,设置发送方地址、手续费上限并签署交易。

  • 第八步:广播交易:将签署后的交易广播到TRON网络。

  • 第九步:检查结果是否包含错误信息。

result对象通常会包含一个布尔值result,表示交易是否成功。

如果result['result'] == True,则交易成功,打印交易ID。

否则,打印错误信息。

  • 第十步:捕获异常:使用try-except块来捕获和处理可能的异常。捕获到异常时,打印异常信息。

2.2 USDT交易脚本

以下是一个完整的Python脚本示例,用于发送TRON上的USDT(TRC-20)交易。

from tronpy import Tron
from tronpy.keys import PrivateKey

#第一步:初始化Tron客户端:client = Tron() 创建一个Tron客户端对象。
# 初始化Tron客户端
client = Tron()

#第二步:设置钱包地址和私钥:用你的钱包地址和私钥替换对应的占位符。
# 设置钱包地址和私钥
private_key_str = "你的私钥"
wallet_address = "你的钱包地址"

#第三步:设置接收方地址和转账金额:to_address 是接收方地址,amount_usdt 是你要发送的USDT数量。
# 接收方地址和转账金额
to_address = "接收方钱包地址"
amount_usdt = 10  # 发送10个USDT

#第四步:设置合约地址:USDT合约地址:TRC-20 USDT的合约地址是固定的 TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t。
# TRC-20 USDT合约地址
usdt_contract_address = "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"

#第五步:创建私钥对象:用你的私钥字符串创建一个PrivateKey对象。
# 创建私钥对象
private_key = PrivateKey(bytes.fromhex(private_key_str))

#第六步:创建合约对象:通过合约地址获取USDT合约对象。
# 创建合约对象
contract = client.get_contract(usdt_contract_address)

#第七步:构建交易:调用transfer方法构建交易,设置发送方地址、手续费上限并签署交易。
# 构建交易
txn = (
    contract.functions.transfer(to_address, int(amount_usdt * 1_000_000))  # USDT的单位是6个小数位
    .with_owner(wallet_address)
    .fee_limit(1_000_000_000)  # 设置手续费上限
    .build()
    .sign(private_key)  # 签署交易
)

try:
    #第八步:广播交易:将签署后的交易广播到TRON网络。
    # 广播交易并获取交易ID
    result = txn.broadcast()

    #第九步:检查结果是否包含错误信息
    #result对象通常会包含一个布尔值result,表示交易是否成功。
    #如果result['result'] == True,则交易成功,打印交易ID。
    if 'result' in result and result['result'] == True:
        print(f"Transaction successful! Transaction ID: {result['txid']}")
    #否则,打印错误信息。    
    else:
        print(f"Transaction failed! Error: {result.get('message', 'Unknown error')}")

#捕获异常:使用try-except块来捕获和处理可能的异常。捕获到异常时,打印异常信息。
except Exception as e:
    print(f"An error occurred: {str(e)}")

三、发送TRX交易

3.1 流程

  • 第一步:初始化Tron客户端:client = Tron() 创建一个Tron客户端对象。

  • 第二步:设置钱包地址和私钥:用你的钱包地址和私钥替换对应的占位符。

  • 第三步:设置接收方地址和转账金额:to_address 是接收方地址,amount_usdt 是你要发送的USDT数量。

  • 第四步:创建私钥对象:用你的私钥字符串创建一个PrivateKey对象。

  • 第五步:使用client.trx.transfer方法构建一个TRX转账交易。

  • 第六步:广播交易并获取交易ID:通过txn.broadcast()广播交易。

  • 第七步:检查结果是否包含错误信息。

result对象通常会包含一个布尔值result,表示交易是否成功。

如果result['result'] == True,则交易成功,打印交易ID。

否则,打印错误信息。

  • 第八步:捕获异常:使用try-except块来捕获和处理可能的异常。捕获到异常时,打印异常信息。

3.2 TRX交易脚本

以下是一个完整的Python脚本示...

剩余50%的内容订阅专栏后可查看

  • 原创
  • 学分: 4
  • 分类: 公链
  • 标签:
点赞 2
收藏 1
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。
该文章收录于 Web3
0 订阅 15 篇文章

0 条评论

请先 登录 后评论
杰哥的技术杂货铺
杰哥的技术杂货铺
0x6e60...2aa2
六年区块链开发及运维经验,成都电子科技大学Web3讲师,利用该平台进行技术分享,可私信进行交流沟通