Contract
的构造函数同时使用account: Account
和contractId: string
,但是Account
已经提供了合同的帐户ID为account.accountId
。两者有什么区别? https://github.com/near/near-api-js/blob/master/src/contract.ts#L22
更新:我们甚至可以在测试中看到它们在此处通过了相同的值:https://github.com/near/near-api-js/blob/master/test/test-utils.js#L39
答案 0 :(得分:1)
account.accountId
指定谁在签署交易,即执行操作的帐户。
contractId
指定正在接收交易的合同的帐户名。
如果有必要代表合同帐户执行操作,则它们可以相同,但基本上这仅适用于联系人所有者。如果例如您有用户使用WalletConnection
登录并调用了第三方合同。