想要踏进区块链 DApp 世界却不知从哪下手?本文带你完成「从零到一行链上交易」的全部流程。无论你偏好 JavaScript、Java、Python 还是 Go,都可以照抄代码、10 分钟跑通 Algorand 测试网。阅读本文,你将掌握 开发环境准备、创建 algod 客户端、发送并确认交易 的核心技巧。
关键词:Algorand、区块链开发、SDK、algod、TestNet、交易发送、区块链节点、开发环境
一、准备开发工具箱
1. 安装 Algorand SDK
四个官方 SDK 任选其一:
- JavaScript
- Java
- Python
- Go
还在犹豫?直接百度「Algorand Python SDK 入门」即可一步到文档。
非官方社区也提供 C#、Rust 等语言的 SDK,可自行探索。
2. 必备命令行工具 CLI
goal:节点主程序,亦可创建账户、签名交易kmd:密钥守护进程algokey:轻量级离线密钥工具
把他们都放进 PATH,后续敲命令不再带路径。
环境变量也别忘:
export ALGORAND_DATA=$HOME/node/data之后使用 goal 即可直接运行,无需 -d 指定。
3. Indexer 可选方案
Indexer 提供链上 账户、交易、资产 的索引与查询能力。开发简单脚本或冷启动项目时,可先用第三方 API,后期再自架 Indexer。
二、获取 algod 地址与 API Token
你的应用靠 algod 与链对话。获取端点与令牌有三种途径:
| 方式 | 耗时 | 适合场景 | 是否支持 goal |
|---|---|---|---|
| 第三方 API 服务 | 数秒注册 | 快速调试 | ❌ |
| Docker 沙箱 | 几分钟 | 超快速上手 | ✅ |
| 自建节点 | 数天追赶 | 生产就绪 | ✅ |
👉 想成为主网节点运营者?先用 Docker 沙箱试试水再升级!
沙箱仅供开发,不能对接主网共识!
主网上线前,请切换到自建同步节点。
自建节点教程:
# 安装后找到
cat $ALGORAND_DATA/algod.net # 得到 IP 与端口
cat $ALGORAND_DATA/algod.token # 获得令牌三、创建并连接 algod 客户端
把上面的端点与令牌丢进所选语言:
from algosdk.v2client import algod
algod_address = "http://localhost:4001"
algod_token = "aaaaaaaa...aaaa"
algod_client = algod.AlgodClient(algod_token, algod_address)再用 status() 快速测通网络:
print(algod_client.status())四、检查建议的交易参数
params = algod_client.suggested_params()
print(params) # 得到 fee、genesis-hash、last-roundgenesis-id 与 genesis-hash 必须与所选网络一致,否则直接三振!
五、发送你的第一笔 Algo 转账
1. 创建测试账户
Python 体验:
from algosdk import account, mnemonic
sk, addr = account.generate_account()
print("地址:", addr)
print("助记词:", mnemonic.from_private_key(sk))到 TestNet 水龙头 领取 100 Algo,钱包瞬间入金。
2. 构建支付交易
把 1 Algo 从小号转到水龙头地址,并留言「Hello World」。
核心字段:
- 接收方:
GD64YIY... - 金额:1,000,000 microAlgo (= 1 Algo)
- note:'Hello World'.encode()
- 网络参数:上一步抓来的
params
3. 签名 & 提交
txn unsigned = PaymentTxn(addr, params, receiver, 1000000, None, msg)
stxn = unsigned.sign(sk)
txid = algod_client.send_transaction(stxn)
print("交易已提交,txid:", txid)4. 等待确认
采用 SDK 自带等待函数:
transaction.wait_for_confirmation(algod_client, txid, 5)Algorand 区块 5 秒一轮,通常在 1 轮内即可确认。
六、从区块链读取回交易
可再次调用 pending_transaction_info(txid) 验证数据。
如果你用到 Indexer,还能查询整段区块历史。
常见疑问 FAQ
Q1:Algorand 与以太坊开发有哪点最不同?
A:Algorand 区块 秒级确认,Gas 默认值极低,主流合约多用 无状态智能签名 提升效率。
Q2:第三方 API 服务会不会泄露私钥?
A:仅上传 已签名交易,私钥永远离链。不放心就自建节点。
Q3:Docker 沙箱能在 Windows 上跑吗?
A:可以,支持 WSL2;只需装 Docker Desktop 即可。
Q4:节点正在追赶怎么办?
A:先用沙箱调试,节点追块完成后再切换 SDK 配置即可。
Q5:TestNet 水龙头一次能领多少?
A:每地址每天领 100 Algo,Recycle 地址策略请自行规划。
Q6:如何确保交易真的成功?
A:轮询 pending_transaction_info 直到返回 confirmed-round > 0,或借助 wait_for_confirmation 等工具函数。
现在,你已经用 Algorand Python SDK(或 Node、Java、Go)完成了「准备环境 → 调参 → 签名 → 上链 → 回查」的完整闭环。
👉 想亲手跑一段完整代码?点我进入在线编辑体验,5 分钟走完全流程!