智能合约 SDK 更新至 V2
在将 SDK 更新至 V2 的工作中,我们一直在完善文档,争取反映新增功能。本周我们已更新一些示例,阐明如何用 SDK 调用智能合约。这些示例阐述在 Algorand 支持的每种语言(Python、JavaScript、Java 和 Go)中使用已编译 TEAL 的过程,展示合约或托管类型的账户,并使用 TEAL 授权签名。
TEAL 程序经 goal
工具编译之后才能在 SDK 中使用。goal TEAL 演示文档阐述了这一编译过程。
SDK 参考文档中探讨了每个 SDK 的安装过程。也可以参阅 V1 到 V2 迁移指南。
示例代码片段贯穿整个 V2 指南,并出于简洁明了的目的有所节略。可在 GitHub 仓库 (/examples/smart_contracts。
合约账户和委托签名账户 SDK 使用方法
用作合约账户时,TEAL 代码经编译后返回一个 Algorand 地址。任何账户都可以使用标准交易向此合约账户地址发送 Algo 币或 Algorand 资产。从合约账户发送时,TEAL 程序中的逻辑决定是否批准交易。合约账户很适合设立托管类型的账户,供用户限制提款或执行定期付款等操作。
您还可以使用 TEAL 进行委托签名,也就是您用私钥或多重签名密钥签名 TEAL 程序,然后您就可以保存这个逻辑签名,交给其他人以您的授权提交交易。TEAL 程序可以限制您委托的授权额度。例如,您可以创建委托签名,允许公共事业公司从您账户中每 50000 个区块拿走至多 x 个 Algo 币。