Near 协议相当于通过发送到地址(0)来销毁 NEAR 代币
Near protocol equivalent of buring NEAR tokens by sending to address(0)
我想删除当前合约并在触发条件时销毁其NEAR余额。
这是 Solidity 版本:
selfdestruct(address(0));
我在 Rust SDK 中找到了 Promise::delete_account
,但它有一个 beneficiary_address
字段。理想情况下,资金应该永远消失,而不是转移到拥有的地址。
Promise::new(env::current_account_id()).delete_account(beneficiary_address);
address(0)
是address 0x0
,一个用来燃烧Ether的黑洞地址
目前没有API直接烧毁NEAR代币。一种解决方法是将收款人帐户 ID 设置为 system
。 system
是一个永远无法创建的帐户,用于内部退款。当受益账户不存在时,通过删除账户转移的代币将自动销毁。
我认为是这样的:
#[payable]
pub fn burn() {
Promise::new("system".to_string()).transfer(env::attached_deposit());
}
首次导入:
use near_sdk::{Promise};
我想删除当前合约并在触发条件时销毁其NEAR余额。
这是 Solidity 版本:
selfdestruct(address(0));
我在 Rust SDK 中找到了 Promise::delete_account
,但它有一个 beneficiary_address
字段。理想情况下,资金应该永远消失,而不是转移到拥有的地址。
Promise::new(env::current_account_id()).delete_account(beneficiary_address);
address(0)
是address 0x0
,一个用来燃烧Ether的黑洞地址
目前没有API直接烧毁NEAR代币。一种解决方法是将收款人帐户 ID 设置为 system
。 system
是一个永远无法创建的帐户,用于内部退款。当受益账户不存在时,通过删除账户转移的代币将自动销毁。
我认为是这样的:
#[payable]
pub fn burn() {
Promise::new("system".to_string()).transfer(env::attached_deposit());
}
首次导入:
use near_sdk::{Promise};