【Solidity】智能合约案例——③版权保护合约

目录

一、合约源码分析:

二、合约整体流程:

1.部署合约:

2.添加实体:

3.查询实体

4.审核版权:

5.版权转让


一、合约源码分析:

Copyright.sol:主合约,定义了版权局的实体,功能为:审核版权

Opus.sol:定义两个实体:作者和作品,功能为:作者账号注册、作者信息查询、申请作品版权、查询作品信息、转让版权

二、合约整体流程:

1.部署合约:

部署此合约需要首先设置一个监管者,在本合约中,身份为版权局

合约全方法:

2.添加实体:

首先添加作者,需要传入作者的姓名,id,地址。id一般为身份证号,作为链上作者身份的唯一标识。这里先注册两个账号,以便后续测试其他方法使用。

接下来使用其中一个作者账号的地址申请作品版权,需要传入作品的名称,作者名称,作品编号,日期,作者地址。

3.查询实体:

可以使用合约内部的方法对作者和作品版权信息进行查询,只需传入唯一id或作品编号即可

作品版权信息的查询会返回一个状态值,0:未审核,1:审核通过,2:审核未通过

4.审核版权:

提交的版权申请必须经过审核才能被转让,因此需要版权局对申请的作品进行审核。

此时再次对作品信息查询,作品信息内容发生改变

5.版权转让:

将版权转让给另一个用户,版权转让要求必须为已经通过审核的版权,并且要求操作者身份为版权原拥有人。

转让后再次查询作品信息,发现版权所有人发生改变

至此,合约的流程结束,该合约可以为创作者提供更可靠、高效的版权管理解决方案,减少版权侵权和纠纷,提升版权保护的效率和可信度。

相关推荐
devmoon4 小时前
为 Pallet 搭建最小化 Mock Runtime 并编写单元测试环境
开发语言·单元测试·区块链·智能合约·polkadot
晚霞的不甘5 小时前
Flutter for OpenHarmony 打造沉浸式呼吸引导应用:用动画疗愈身心
服务器·网络·flutter·架构·区块链
devmoon6 小时前
Chopsticks 本地分叉平行链实战指南
安全·智能合约·polkadot·erc-20·独立链
devmoon6 小时前
Polkadot SDK 自定义 Pallet Benchmark 指南:生成并接入 Weight
开发语言·网络·数据库·web3·区块链·波卡
综合热讯6 小时前
股票融资融券交易时间限制一览与制度说明
大数据·人工智能·区块链
暴躁小师兄数据学院6 小时前
【WEB3.0零基础转行笔记】Solidity编程篇-第一讲:简易存储
web3·区块链·智能合约
devmoon18 小时前
运行时(Runtime)是什么?为什么 Polkadot 的 Runtime 可以被“像搭积木一样”定制
开发语言·区块链·智能合约·polkadot·runtmie
暴躁小师兄数据学院20 小时前
【WEB3.0零基础转行笔记】Rust编程篇-第一讲:课程简介
rust·web3·区块链·智能合约
devmoon20 小时前
在 Paseo 测试网上获取 Coretime:On-demand 与 Bulk 的完整实操指南
开发语言·web3·区块链·测试用例·智能合约·solidity
unturn21 小时前
solidity进阶
solidity