示例智能合同
Oracle Blockchain Platform Enterprise Edition for Besu 包括预部署的智能合同示例。
要访问预部署的合同,请在服务控制台中单击开发人员工具,然后单击预部署的合同。
选择每个合同的下载菜单以下载 Solidity 源代码或应用程序二进制接口 (Application Binary Interface,ABI)。您可以使用此信息通过使用 RPC 代理 API 调用与已部署的智能合同进行交互。您还可以将源代码导入 Solidity 开发环境(如 Hardhat 或 Remix),并根据需要进行更改或增强。
散列时间锁定合同 (HTLC)
此合同将在您创建实例时部署。Hash Time-Locked Contract 支持 ETH 和 ERC-20 代币的原子交换,接收者在截止日期前要求付款或将付款退还给发送者。合同支持以下操作。
- 交换 ETH 或 ERC-20 标记。
- 在指定时间内锁定处于秘密条件的接收者的资金。
- 通过在锁定到期之前提供正确的密钥来声明锁定的资金。
- 锁定到期后,将未领取的锁定资金退还给发件人。
- 获取锁定的交换的状态,包括是已申请还是已退款、锁定金额和锁定截止日期。
锁箱
此合同将在您创建实例时部署。LockBox 合同实施了一个锁定的保管库,保存 ETH 和 ERC-20 令牌,然后在特定时间将内容释放给指定的所有者。合同支持以下操作。
- 通过直接发送 ETH 或转移 ERC-20 令牌将资金存入金库。
- 获取 Vault 详细信息,包括受益人/所有者是谁、发布时间以及 Vault 中的令牌/ETH。任何用户都可以获取此信息。
- 在指定时间释放资金。在指定的时间戳之后,所有者可以调用释放操作来检索资金。