开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第25天,点击查看活动详情
本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:github.com/weopenproje…
追过之前 长安链 Golang 智能合约开发实战 的朋友知道,我们开发了一个“爱情锁”智能合约。
通过这个合约,有情人可以将“爱情”上链,一条存在于数字世界的爱情锁链。
作为一个希望为所有地球人的服务的智能合约,一定是需要每个人都可以自由的使用,而不是向某个机构提交一份“为爱情上锁”的申请表,通过审批后才能使用。
要满足这个需求,需要了解长安链的账户体系。长安链官方为此写了份优秀的文档,简单的说,不同账户体系满足了不同的需求场景:
如图,长安链提供了三种账户模式,分别是:
- PermissionWithCert(证书模式)
- PermissionWithKey(公钥注册模式)
- Public(公钥模式)
前两种模式适用于联盟链,常用的场景就是各个组织之间组成联盟,搭建一条共用的区块链,来降低信任成本。这种场景下,需要严格的准入管理,确保各方的利益一致。不然,一个想搞破坏的组织加入,光给大家添堵了。
显然,这种两种模式不适合“爱情锁”智能合约。
答案很明显了,我们需要第三种模式:公钥模式(Public)。在这种模式下,只要每个人申请下公私钥,即可调用“爱情锁”智能合约,实现了服务每个人的需求。(公私钥的保存和管理是区块链业界的大问题,这个咱们先不考虑了)
ok,选定了长安链的账户模式,正好长安链管理台也支持公钥模式下的配置与管理:
咱们下一章就折腾下,配置并部署个支持公钥模式的长安链,然后把“爱情锁”智能合约部署上去。