“智能合约库有奖征码”活动开展以来,伙伴们群策群力踊跃贡献,帮助夯实了合约库的基础功能,涌现了诸如共享经济、商品溯源等更多面向实际业务场景的合约样板,使得合约库更加满足开发者和行业多样化的诉求 。
为了让更多开发者参与到智能合约库组件优化中,拓展智能合约库的功能和社区影响力,我们在FISCO BCOS 开源社区中牵头组建了智能合约与分布式应用专项兴趣小组(Smart Contract Special Interest Group,SC-SIG), 协同社区开发者打造更好用的智能合约代码、模板和应用Demo,以便开发者更高效率、更安全地开发业务合约及区块链应用。
本期活动,所有任务模块由SC-SIG组员共同创建,命题除了功能模块、场景类代码征集之外,新增了教程、漏洞集等文档类的征集。同时,本期活动礼品也进行了全新升级,期待你的参与!
活动介绍
活动时间
2021年11月10日—2021年12月12日
活动内容
本次活动基于Solidity语言征集智能合约代码
Solidity版本范围:0.4.25-0.6.10
为了便于参与,我们拟定了部分任务列表(如下表所示),每位参与者可以选择自己感兴趣的任务进行领取并开发,也可以基于具体的业务场景作为开发任务,原则上不做代码功能的限定。
由于每一个任务为概述性描述,包含内容较多,所以每个任务可由多位参与者领取。
任务ID | 任务名称 | 任务描述 |
1 | 原有合约库优化和增强 | 针对智能合约库中现有合约的功能进行补充和增强,如针对不同数据类型,提供数组、字符串、地址、数学计算等操作。 |
2 | 数学运算增强 | 提供开方、指数、对数等运算。 |
3 | 计数器操作 | 提供基于Solidity的计数器功能。 |
4 | 证件号码验证 | 针对大陆18或15位,港、澳8位, 台10位身份证件号码合法性验证。 |
5 | 数据实体封装 | 对实体属性封装为合约,并提供get/set等属性操作方法。 |
6 | 匿名投票 | 实现匿名投票,在投票期间各票信息以密文形式上链,在投票结束后才公开。 |
7 | 多方签名 | 提供一个抽象层面的多方签名功能,可以应用于多方认证的场景。 |
8 | 多方投票 | 提供多方投票功能,投票策略可多样化。 |
9 | 版权保护 | 包括但不限于文化、专利、艺术品、数字内容的确权、鉴权等方案。 |
10 | 金融 | 对于供应链金融、征信、反洗钱等金融场景,提供相关的智能合约通用化模板。 |
11 | 慈善公益 | 基于慈善公益,提供但不限于善款追溯、善行激励等场景的使用场景。 |
12 | 共享经济 | 针对共享经济中的痛点,提供区块链的解决方案,例如租房、图书共享等使用场景。 |
13 | 智能合约教程 | 原创的各类智能合约开发教程、分享。 |
14 | 智能合约常见漏洞集 | 各类型漏洞合约,帮助增强开发人员漏洞意识,提升智能合约安全性。 |
奖励介绍
参与流程
本次活动可以以个人方式参与也可以组队参与,流程如下所示。
报名方式
识别下方二维码加小助手为好友,小助手将邀请你进入活动专属交流群。加好友时请备注:智能合约。
微众银行区块链小助手二维码
领取任务
小助手将为大家提供在线报名表,报名后可在任务列表中选择1个或多个任务,也可以根据自身情况设定任务,在群中同步管理员,完成任务领取。
任务开发及测试
基于领取的或者自身设定的任务进行合约开发测试,并编写对应的测试案例和文档。
任务提交
完成开发和测试之后, 即可通过PR的方式对代码及文档进行提交,提交内容中需包含:
经过测试后的完整代码;
提交PR路径:
https://github.com/WeBankBlockchain/SmartDev-Contract/pulls
代码提交至dev分支。
代码审核
智能合约库组件维护者对合约代码及文档进行审核,如有问题,会在群中和开发者进行讨论,直到开发者和维护者达成共识,并符合合入要求。
代码合入
当完成代码审核,由智能合约库组件维护者对PR进行合入,任务结束。
注意事项
贡献的代码必须遵循Apache V2协议。
参与活动的代码须原创,否则视为无效参与。
基于政策和监管要求,智能合约代码中严禁出现coin、token等字眼,功能层面严禁出现代币、Defi等场景。
活动奖品将在1个活动周期结束后的15个工作日内完成发放,如有问题咨询小助手。
为保障活动公平公正进行,如出现1人多号刷礼品等现象,经查实后取消活动参与及奖励资格。
组件代码仓库及文档
Github代码仓库:
https://github.com/WeBankBlockchain/SmartDev-Contract
Gitee代码仓库:
https://gitee.com/WeBankBlockchain/SmartDev-Contract
文档地址:
https://smartdev-doc.readthedocs.io/zh_CN/latest/