Javascript 将帐户传递给近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是

我正在尝试从js api附近的
调用以下方法,用于我的合同。它将Rsut
AccountId
作为参数

什么是序列化并将其传递给合同的正确方法

此外,在调用合同初始设定者时是否有特殊考虑

#[靠近_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
    完全相同