那么,如果 A 和 B 共同拥有一个关于某些服务的智能合约,外部方 C 如何获得读取/写入该合约的权限?
- 签约时是否需要将契约(Contract)设置为“public”?
- A 或(/和?)B 可以在签署后将契约(Contract)的访问权授予 C 吗?
- 还有其他方法吗?
最佳答案
基本上,公共(public)分类账上的所有智能合约都是公共(public)。这取决于您部署合约的区 block 链平台。通常,要访问它们,您需要满足以下条件。
- 一个界面。例如,在以太坊中你需要 application binary interface .由于链上的合约以二进制格式存储,您需要知道如何访问它们的功能。在大多数情况下,ABI 是可用成员和函数的 JSON 描述。
- 一些访问规则。一般来说,正如我最初所说的,所有状态都是公开可读的,所以如果
A
和B
创建一个与someService
的契约(Contract),C
就能读出状态。如果你想允许C
写访问,你需要在创建合约时明确告知(例如,通过静态白名单他的公钥)或者你可以维护一个动态的访问者列表,其中只有A
或B
可以设置。
除非您说明您最喜欢的平台或合约语言,否则我认为这是我能给出的最具体的答案。
关于blockchain - 外部方访问智能合约(区 block 链),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38390264/