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

news/2024/7/11 5:06:34 标签: 智能合约, 区块链, solidity, 去中心化, 信任链

目录

一、合约源码分析:

二、合约整体流程:

        1.部署合约:

        2.添加实体: 

        3.查询实体

        4.审核版权:

        5.版权转让


一、合约源码分析:

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

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

二、合约整体流程:

        1.部署合约:

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

                

                合约全方法:

                 

        2.添加实体: 

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

                

                 

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

                 

        3.查询实体:

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

                

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

        4.审核版权:

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

                

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

                

        5.版权转让:

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

                

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

                 

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


http://www.niftyadmin.cn/n/5115019.html

相关文章

C++ string 类相关知识

/* ISO/ANSI C标准通过添加string类扩展了C库,因此现在可以string类型的变量(使用C的话 说是对象)而不是字符数组来存储字符串。读者将看到,string 类使用起来比数组简单,同时提供了将字 符串作为一种数据类型的表示方法。 要使用string类,必须在程序中包含头文件string。s…

【Gensim概念】02/3 NLP玩转 word2vec

第二部分 句法 六、句法模型(类对象和参数) 6.1 数据集的句子查看 classgensim.models.word2vec.BrownCorpus(dirname) Bases: object 迭代句子 Brown corpus (part of NLTK data). 6.2 数据集的句子和gram classgensim.models.word2vec.Heapitem(c…

2023IG新功能大整理,更多玩法助力营销推广

作为当今全球最为受欢迎的社交媒体之一,Instagram在2023年迎来了一系列重要的功能更新。学习了解Instagram的最新功能,以及如何高效利用这些新的功能和工具,对于跨境品牌在该平台上实现营销推广至关重要。今天给大家详细介绍 Instagram在2023…

Python基础入门例程5-NP5 格式化输出(一)

目录 描述 输入描述: 输出描述: 示例1 解答: 说明: 描述 牛牛、牛妹和牛可乐正在Nowcoder学习Python语言,现在给定他们三个当中的某一个名字name, 假设输入的name为Niuniu,则输出 I am …

【广州华锐互动】关于物理力学的3D实验实操平台

在科学的广阔领域中,物理力学是一个至关重要的分支,它探索了物体在力作用下的运动规律。然而,传统的物理实验往往需要复杂的设备和大量的操作,这对于学生来说是一项巨大的挑战。为了解决这个问题,广州华锐互动开发了物…

【PG】数据库管理

查看现有数据库 SELECT datname FROM pg_database;或者 \l创建数据库 create database name;

友思特方案 | 3D点云实例分割现成算法模块助力实现自动化上下料应用

引言 全球范围内的大型汽车制造商和技术公司,以及一些专注于智能制造领域的创新企业,在3D视觉引导汽车部件自动化上下料项目方面都在进行研发和实践。国内外汽车制造行业,越来越多的企业开始采用3D视觉引导技术进行自动化上下料操作。 本文将…

GoLong的学习之路(五)语法之数组

书接上回,上回书说到,循环语句,在go中循环语句的少了whlie这个关键词,但是与之for可以改这个改这个特点。并且在终止关键词中,又有标签可以方便,停止。这次说数组 文章目录 Array(数组)数组的初始化方法一方…