j00*_*0yn 5 smartcontracts nearprotocol
有人能帮我理解这三个概念之间的关系和区别吗?看来context.predecessor == context.contractName支票很常见。
signer- 签署初始交易的帐户。
predecessor- 发出当前合约调用的最后一个帐户。
current- 合约账户。
例如,考虑 Contractcontract.near和 user alice.near。
alice.nearfoo调用上的方法contract.near。在 foo 的上下文中:
signer == alice.nearpredecessor == alice.nearcurrent == contract.near然后,如果对另一个方法 say 进行 Promise 调用faa,则其上下文为:
signer == alice.nearpredecessor == contract.nearcurrent == contract.near所以检查predecessor == current或是context.predecessor == context.contractName为了确保合约是发出合约调用的账户。具有此断言的方法被视为“私有”,因为即使它是面向公众的 API 的一部分,也只有合约可以调用它。
| 归档时间: |
|
| 查看次数: |
262 次 |
| 最近记录: |