gpt4 book ai didi

smartcontracts - NEAR 协议(protocol)可替代代币逻辑 NEP-21

转载 作者:行者123 更新时间:2023-12-03 18:54:42 25 4
gpt4 key购买 nike

我有以下问题:
fungible Token exampleNEP-21本身。

  • escrow allowances > 0 时可能出现这种情况。 , 但是 account balance = 0 .
    它是合法的流动吗?为什么?
  • 它从不检查 account_id存在与否。为什么?它安全吗?
  • 任何人都可以调用:inc_allowance/dec_allowance ?

  • 对于 let owner_id = env::predecessor_account_id();将自动创建新帐户,新的托管津贴(如果不存在)。这个逻辑正确吗?为什么?
  • get_account总是创建一个新帐户。看起来是多余的。

  • 例如:
    fn get_account(&self, owner_id: &AccountId) -> Account {
    assert!(env::is_valid_account_id(owner_id.as_bytes()), "Owner's account ID is invalid");
    let account_hash = env::sha256(owner_id.as_bytes());
    self.accounts.get(&account_hash).unwrap_or_else(|| Account::new(account_hash))
    }
    将为新 owner_id 创建“始终”新帐户.并且有可能永远不会使用该帐户。那么用 get_account默默地“创建”一个帐户真的很实用吗? ?
  • transfer_from从不检查 owner_id作为帐户的真正所有者。是否有逻辑来保护仅由真实所有者进行的转让?
  • 为什么可替代 token 没有名称/标题?
  • NEAR 协议(protocol) 对 Fungible Tokens 交换有一些标准或逻辑吗?
  • 最佳答案

    It's a possible situation when escrow allowances > 0, but account balance = 0. Is it legal flow and why?


    AFAIU 津贴只是防止滥用的合理上限。两个账户可以有两个相同账户的备抵,加起来总和大于账户余额。

    It never checks account_id exists or not. Why? Is it secure?


    在分片区 block 链中,如果没有异步跨合约调用,就不可能检查账户是否存在,因为其他账户可能存在于不同的分片上。此外,当我们收到来自其他分片的回复时,可以创建/删除该帐户。

    Anyone can call: inc_allowance/dec_allowance?


    只能由所有者调用,见: https://github.com/near/near-sdk-rs/blob/master/examples/fungible-token/src/lib.rs#L106

    And for let owner_id = env::predecessor_account_id(); will be created new account, new escrow allowance automatically (if not exist). Is that logic correct and why?


    是的。我不确定,为什么这会是矛盾的。

    get_account always created a new account. It looks redundant.


    它可能是多余的,但在这种情况下,编译器也可能对其进行优化: https://github.com/near/near-sdk-rs/blob/master/examples/fungible-token/src/lib.rs#L213

    transfer_from is never check owner_id as the real owner of the account. Is there logic to protect transferring only by real owners?


    此检查中暗示: https://github.com/near/near-sdk-rs/blob/master/examples/fungible-token/src/lib.rs#L174-L180如果不是托管的情况,那么 env::predecessor_account_id()应该等于 owner_id .因此,收据/交易必须是从所有者的帐户发送的。

    Why fungible token doesn't have a name/title?


    我们正在努力将元数据添加到我们的契约(Contract)中,请在此处查看我们的第一季度 OKR: https://airtable.com/shrw0AD36eIbfEW02

    Do the NEAR Protocol have some standard or logic for Fungible Tokens exchange?


    我们有合作伙伴致力于实现类似的东西,但我认为我们没有标准。

    关于smartcontracts - NEAR 协议(protocol)可替代代币逻辑 NEP-21,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66144719/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com