Javascript 将帐户传递给近js api函数调用
我正在尝试从js api附近的Javascript 将帐户传递给近js api函数调用,javascript,nearprotocol,Javascript,Nearprotocol,我正在尝试从js api附近的调用以下方法,用于我的合同。它将RsutAccountId作为参数 什么是序列化并将其传递给合同的正确方法 此外,在调用合同初始设定者时是否有特殊考虑 #[靠近_bindgen] impl燃烧器工具{ #[初始化] fn新(令牌id:AccountId)->Self{ 断言!(!env::state_exists(),“已初始化”); 让pool=Self{ token\u id:token\u id, 收到的总数:0, }; 回流池; } } AccountId是
调用以下方法,用于我的合同。它将RsutAccountId
作为参数
什么是序列化并将其传递给合同的正确方法
此外,在调用合同初始设定者时是否有特殊考虑
#[靠近_bindgen]
impl燃烧器工具{
#[初始化]
fn新(令牌id:AccountId)->Self{
断言!(!env::state_exists(),“已初始化”);
让pool=Self{
token\u id:token\u id,
收到的总数:0,
};
回流池;
}
}
AccountId
是一个字符串。所以只需粘贴一个字符串值
考虑事项:
在对帐户执行任何操作之前,最好先验证帐户:
#[内联]
发布fn断言帐户有效(a:&AccountId){
断言(
env::帐户id是否有效(a.作为字节()),
格式!(“{}帐户ID无效”,a)
);
}
如果在使用前严格要求合同初始化,并且如果其他人代替您进行初始化(例如设置所有者地址),则会发生不好的事情,那么您可以添加一些保护方法(例如在智能合同中硬编码哈希,并在新
方法中执行预映像检查)
如果合同不应初始化两次,则始终调用!env::state_exists()
与assert
完全相同