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

news2024/10/4 8:17:38

目录

一、合约源码分析:

二、合约整体流程:

        1.部署合约:

        2.添加实体: 

        3.查询实体

        4.审核版权:

        5.版权转让


一、合约源码分析:

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

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

二、合约整体流程:

        1.部署合约:

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

                

                合约全方法:

                 

        2.添加实体: 

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

                

                 

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

                 

        3.查询实体:

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

                

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

        4.审核版权:

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

                

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

                

        5.版权转让:

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

                

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

                 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1124993.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot轻松实现ip解析(含源码)

文章目录 前言应用场景(1)网站访问分析(2)欺诈风险控制(3)限制服务区域(4)显示访问者来源 示例前期准备Ip2region 特性1、IP 数据管理框架2、数据去重和压缩3、极速查询响应 版本依赖导入库具体代码ConstantAddressUtils(在线解析)IpUtil(离线解析)IpController执行结果 总结源…

Redis的持久化策略:RDB与AOF(面试题详解)

文章来源:Redis持久化的两种方式:RDB与AOF(详解),订正了一些错误 一、概述: RDB和AOF持久化的由来? 因为Redis中的数据是基于内存的,所以如果出现服务器断电或者服务器宕机&#xf…

Spring Boot集成SpringFox 3.0与Pageable参数处理

Springfox 3.0有多个模块&#xff0c;提供了spring boot starter&#xff0c;与Spring Boot集成时仅需引入springfox-boot-starter&#xff0c;如下&#xff1a; <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter<…

FL Studio 21 for Mac中文破解版百度网盘免费下载安装激活

FL Studio 21 for Mac中文破解版是Mac系统中的一款水果音乐编辑软件&#xff0c;提供多种插件&#xff0c;包括采样器、合成器和效果器&#xff0c;可编辑不同风格的音乐作品&#xff0c;Pattern/Song双模式&#xff0c;可兼容第三方插件和音效包&#xff0c;为您的创意插上翅膀…

ElementType枚举类

作用 可用于注解Target指定作用位置&#xff0c;例如&#xff1a;在注释类上声明作用于注解 种类 TYPE类、接口&#xff08;包括注释类型&#xff09;或枚举声明FIELD字段声明&#xff08;包括枚举常量METHOD方法声明PARAMETER形式化参数说明CONSTRUCTOR构造函数说明LOCAL_VAR…

人工智能站队将再添一名大将,苹果明年或将推出AppleGPT

KlipC报道&#xff1a;据外媒报道&#xff0c;苹果公司计划每年投资 10 亿美元&#xff0c;将生成式人工智能&#xff08;AI&#xff09;整合到其产品线中。据知情人士透露苹果计划最早在2024年底开始在iPhone和iPad上融入生成式人工智能技术。 KlipC的合伙人Andi D表示&#x…

第四章 文件管理 二、文件的逻辑结构

目录 一、概括 二、无结构文件 1、定义&#xff1a; 三、有结构文件 1、定义&#xff1a; 2、逻辑结构 &#xff08;1&#xff09;顺序文件: 按存储结构分类&#xff1a; 按关键字分类&#xff1a; 总结&#xff1a; 3、索引结构 4、索引顺序结构 &#xff08;1&am…

CentOS7.9+Kubernetes1.28.3+Docker24.0.6高可用集群二进制部署

CentOS7.9Kubernetes1.28.3Docker24.0.6高可用集群二进制部署 查看版本关系 ## 从kubernetes-server-linux-amd64.tar.gz解压后有kubeadm ]# ./kubeadm config images list W1022 20:06:05.647976 29233 version.go:104] could not fetch a Kubernetes version from the in…

Unity3D 基础——鼠标悬停更改物体颜色,移走恢复

方法介绍 【unity学习笔记】OnMouseEnter、OnMouseOver、OnMouseExit_unity onmouseover_一白梦人的博客-CSDN博客https://blog.csdn.net/a1208498468/article/details/117856445 GetComponent()详解_getcomponet<> 动态名称-CSDN博客https://blog.csdn.net/kaixindrag…

飞管飞控系统仿真应用探究与浅析

数字孪生技术是对真实物理实体的虚拟映射与数字化信息的应用再造&#xff0c;因其在产品生产制造与技术运用过程中&#xff0c;可将物理世界和数字世界进行实时交汇与良好互动的特性越来越受到普遍关注与广泛应用。据统计&#xff0c;2021年全球数字孪生市场规模为约500亿元&am…

【C++技能树】Lambda表达式

Halo&#xff0c;这里是Ppeua。平时主要更新C&#xff0c;数据结构算法&#xff0c;Linux与ROS…感兴趣就关注我bua&#xff01; 文章目录 0. Lambda表达式简介1. Lambda表达式2. Lambda表达式语法 0. Lambda表达式简介 在C98及之前,想要对sort进行自定义排序,或者对自定义类…

手把手教你如何重装win10系统,自己动手安装系统其实很简单

笔者在这里写一个详细点的系统重装教程。手把手教大家如何从零开始重装win10系统。因为是写给新手来看的&#xff0c;会尽力介绍的详细一些。 文章较长&#xff0c;大家不用被吓到。简化一下具体步骤只有几步。顺利话一个小时内就可以安装好。我列了个目录&#xff1a; 一、重…

LVS负载均衡及LVS-NAT模式

一、集群概述 1.1 集群的背景 集群定义&#xff1a;为解决某个特定问题将多个计算机组合起来形成一个单系统 集群目的&#xff1a;为了解决系统的性能瓶颈 集群发展历史&#xff1a; 垂直扩展&#xff1a;向上扩展&#xff0c;增加单个机器的性能&#xff0c;即升级硬件 水…

【CNN-LSTM预测】基于卷积神经网络-长短期记忆网络的数据分类预测研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

ONEPIECE!程序环境和预处理——C语言最终章

时间过得飞快呀&#xff0c;从第一篇blog到现在&#xff0c;已经有三四个月的时间了&#xff0c;而我们终于也迎来了C语言的最终章——程序环境和预处理&#xff01;加油吧朋友们&#xff0c;ONEPIECE就在眼前~ 目录 一、程序的"翻译环境"和"运行环境" 二…

使用gen 结合gorm 生成表模型文件

# 创建一个目录 用于执行 自动生成model 的代码 和存储 生成的model文件 mkdir gengormmodel && cd gengormmodel go mod init gengormmodel go get -u gorm.io/genv0.3.16 #最终的目录结构package mainimport ("fmt""gorm.io/driver/mysql""…

【进程概念③】:进程环境变量/进程切换

深入篇【Linux】学习必备&#xff1a;进程环境变量/进程切换 Ⅰ.环境变量Ⅱ.深层意义Ⅲ.全局属性Ⅳ.进程切换 Ⅰ.环境变量 1.环境变量是什么&#xff1f;&#xff1a;环境变量是系统提供的一组name/value形式的变量&#xff0c;不同的环境变量有不同的用户。 一般是用来指定操作…

AIGC笔记--基于DDPM实现图片生成

目录 1--扩散模型 2--训练过程 3--损失函数 4--生成过程 5--参考 1--扩散模型 完整代码&#xff1a;ljf69/DDPM 扩散模型包含两个过程&#xff0c;前向扩散过程和反向生成过程。 前向扩散过程对一张图像逐渐添加高斯噪声&#xff0c;直至图像变为随机噪声。 反向生成过程…

--initialize specified but the data directory has files in it. Aborting. 问题解决

当电脑输入这条命令以试图初始化数据库的时候&#xff0c;出现这样的错误。 2023-10-23T09:04:21.258180Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more deta…

Spark SQL概述与基本操作

目录 一、Spark SQL概述 &#xff08;1&#xff09;概念 &#xff08;2&#xff09;特点 &#xff08;3&#xff09;Spark SQL与Hive异同 &#xff08;4&#xff09;Spark的数据抽象 二、Spark Session对象执行环境构建 (1)Spark Session对象 &#xff08;2&#xff09;代码演…