【Solidity】智能合约案例——③版权保护合约
目录
一、合约源码分析:
二、合约整体流程:
1.部署合约:
2.添加实体:
3.查询实体
4.审核版权:
5.版权转让
一、合约源码分析:
Copyright.sol:主合约,定义了版权局的实体,功能为:审核版权
Opus.sol:定义两个实体:作者和作品,功能为:作者账号注册、作者信息查询、申请作品版权、查询作品信息、转让版权
二、合约整体流程:
1.部署合约:
部署此合约需要首先设置一个监管者,在本合约中,身份为版权局

合约全方法:

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


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

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

作品版权信息的查询会返回一个状态值,0:未审核,1:审核通过,2:审核未通过
4.审核版权:
提交的版权申请必须经过审核才能被转让,因此需要版权局对申请的作品进行审核。

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

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

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

至此,合约的流程结束,该合约可以为创作者提供更可靠、高效的版权管理解决方案,减少版权侵权和纠纷,提升版权保护的效率和可信度。
相关文章:
【Solidity】智能合约案例——③版权保护合约
目录 一、合约源码分析: 二、合约整体流程: 1.部署合约: 2.添加实体: 3.查询实体 4.审核版权: 5.版权转让 一、合约源码分析: Copyright.sol:主合约,定义了版权局的实体ÿ…...
Cisco IOS XE Web UI 命令执行漏洞
Cisco IOS XE Web UI 命令执行漏洞 受影响版本 Cisco IOS XE全版本 漏洞描述 Cisco IOS XE Web UI 是一种基于GUI的嵌入式系统管理工具,能够提供系统配置、简化系统部署和可管理性以及增强用户体验。它带有默认映像,因此无需在系统上启用任何内容或安…...
qwen大模型,推理速度慢,单卡/双卡速度慢,flash-attention安装,解决方案
场景 阿里的通义千问qwen大模型,推理速度慢,单卡/双卡速度慢。 详细: 1、今日在使用qwen-14b的float16版本进行推理(BF16/FP16) 1.1 在qwen-14b-int4也会有同样的现象 2、使用3090 24G显卡两张 3、模型加载的device是auto&#x…...
3.SpringSecurity基于数据库的认证与授权
文章目录 SpringSecurity基于数据库的认证与授权一、自定义用户信息UserDetails1.1 新建用户信息类UserDetails1.2 UserDetailsService 二、基于数据库的认证2.1 连接数据库2.2 获取用户信息2.2.1 获取用户实体类2.2.2 Mapper2.2.3 Service 2.3 认证2.3.1 实现UserDetails接口2…...
【软件测试】自动化测试selenium
目录 一、什么是自动化测试 二、Selenium介绍 1、Selenium是什么 2、Selenium的原理 三、了解Selenium的常用API 1、webDriver API 1.1、元素定位 1.1.1、CSS选择器 1.1.2、Xpath元素定位 1.1.3、面试题 1.2、操作测试对象 1.3、添加等待 1.4、打印信息 1.5、浏…...
如何解决Google play开发者新注册账号,身份验证的地址证明问题?
我们知道,Google Play应用市场的发展速度惊人,但这两年,为了防止恶意软件的传播,谷歌要求开发者账号需要进行身份验证才能发布应用。 而今年越来越严格,不仅在提审时需要进行电话验证(链接)&am…...
Gin vs Beego: Golang的Web框架之争
前言 Golang作为一门高效且简洁的语言,已经在Web开发领域得到了广泛的应用。Gin和Beego是Golang中两个著名的Web框架,它们都提供了一系列强大的功能,帮助开发者构建高性能的Web应用。本文将对Gin和Beego进行全面的对比,帮助开发者…...
javascript IP地址正则表达式
/^(1[0-9]{2}|2[0-4][0-9]|25[0-5]|(\d){1,2})\.(1[0-9]{2}|2[0-4][0-9]|25[0-5]|(\d){1,2}|0)\.(1[0-9]{2}|2[0-4][0-9]|25[0-5]|(\d){1,2}|0)\.(1[0-9]{2}|2[0-4][0-9]|25[0-5]|(\d){1,2}|0)$/g.test(10.2.35.8) 注: 一定不要把表达式赋值给变量,直接…...
【Bash】记录一个长命令换行的BUG
假设现在我要在terminal执行如下命令跑模型: CUDA_VISIBLE_DEVICES6 python finetune.py -c configs/quantized/resnet32_cifar100_finetune.yml --model resnet32 --data-dir ~/datasets --apex-amp --initial-checkpoint /home/zwx/projects/hawq/resnet32.pth.t…...
【.net core】yisha框架imageupload组件多图上传修改
框架\wwwroot\lib\imageupload\1.0\js路径下imgup.js文件,参照旧版本代码和修改代码修改 (function ($) {"use strict";var deleteParent;var deleteDisplay none;var defaults {fileType: ["jpg", "png", "bmp", "…...
vscode markdown 使用技巧 -- 如何快速打出一个Tab 或多个空格
背景描述: 我在使用VSCode,这玩意很好用,但是,有一个缺点是,我想使用Tab来做一些对齐,但是我发现在VSCode中,无论是Tab还是多个空格,最终显示出来的都是一个空格 使用代码可以实现打…...
I/O 模型学习笔记【全面理解BIO/NIO/AIO】
文章目录 I/O 模型什么是 I/O 模型Java支持3种I/O模型BIO(Blocking I/O)NIO(Non-blocking I/O)AIO(Asynchronous I/O) BIO、NIO、AIO适用场景分析 java BIOJava BIO 基本介绍Java BIO 编程流程一个栗子实现…...
【Python学习笔记】字符编码
1. 字符串编码 Python3语言里面的字符串对象是unicode字符串,在内存中实际存储时,使用的是 UTF16 编码。但通常不会将UTF16编码的内容写到磁盘或者在网络进行传输, 因为utf16编码比较浪费空间。特别是如果文字信息基本都是英文符号的情况下&…...
华为昇腾NPU卡 大模型LLM ChatGLM2模型推理使用
参考:https://gitee.com/mindspore/mindformers/blob/dev/docs/model_cards/glm2.md#chatglm2-6b 1、安装环境: 昇腾NPU卡对应英伟达GPU卡,CANN对应CUDA底层; mindspore对应pytorch;mindformers对应transformers 本…...
Git 拉取远程更新报错
报错内容如下: cannot lock ref refs/remotes/origin/bugfix/bug: refs/remotes/origin/bugfix 已存在,无法创建 refs/remotes/origin/bugfix/bug 来自 gitlab.zhangyue-inc.com:dejian_ios/iReaderDejian! [新分支] bugfix/bug -> ori…...
腾讯云国际站服务器端口开放失败怎么办?
腾讯云服务器是腾讯公司推出的一种云服务,用户能够经过这种方式在互联网上进行数据存储和计算。然而,用户在运用腾讯云服务器时或许会遇到各种问题,其间端口敞开失利是一个常见问题。本文将具体介绍如何解决腾讯云服务器端口敞开失利的问题。…...
一句话解释什么是出口IP
出口 IP 是指从本地网络连接到公共互联网时所使用的 IP 地址。这个 IP 地址是由 Internet 服务提供商(ISP)分配给你的,它可以用来标识你的网络流量的来源。如果你使用的是 NAT(网络地址转换)技术,则在 NAT 设备内部会进行地址转换,使得多个设备可以共享同一个公共 IP 地…...
深入理解强化学习——强化学习的历史:试错学习
分类目录:《深入理解强化学习》总目录 让我们现在回到另一条通向现代强化学习领域的主线上,它的核心则是试错学习思想。我们在这里只对要点做概述,《深入理解强化学习》系列后面的文章会更详细地讨论这个主题。根据美国心理学家R.S.woodworth…...
分享一个用HTML、CSS和jQuery构建的漂亮的登录注册界面
作为一个前端开发人员,我们经常需要构建用户的登录和注册界面。一个漂亮、用户友好的登录注册界面对于提升用户体验和网站形象至关重要。以下我们使用HTML、CSS和jQuery来做一个漂亮的登录注册界面。 首先,我们需要创建一个html文档,定义登录…...
Java学习 习题 1.
一、 1.2. 3. 4. 5. 二、 1. 2. 3. 4. 5. 6. 7. 8....
云原生环境中的API网关实践
云原生环境中的API网关实践 🔥 硬核开场 各位技术老铁,今天咱们聊聊云原生环境中的API网关实践。别跟我扯那些理论,直接上干货!在微服务架构中,API网关是整个系统的入口,负责请求路由、负载均衡、安全认证等…...
TranslateGemma快速入门:一键部署企业级神经机器翻译系统
TranslateGemma快速入门:一键部署企业级神经机器翻译系统 1. 为什么选择本地化神经机器翻译 在全球化协作日益频繁的今天,专业翻译需求呈现爆发式增长。传统在线翻译工具面临三大痛点: 精度不足:技术术语、法律条款等专业内容翻…...
Java 从入门到精通(十一):异常处理与自定义异常,程序报错时到底该怎么处理?
Java 从入门到精通(十一):异常处理与自定义异常,程序报错时到底该怎么处理? 很多人刚学 Java 时,对“异常”这件事的第一反应通常很直接: 代码报错了控制台一大片红字程序停了然后开始慌 于是很…...
Z-Image-Turbo-辉夜巫女应用:快速生成动漫角色,打造个人风格画师
Z-Image-Turbo-辉夜巫女应用:快速生成动漫角色,打造个人风格画师 1. 项目介绍与核心功能 1.1 什么是Z-Image-Turbo-辉夜巫女? Z-Image-Turbo-辉夜巫女是一款基于阿里巴巴通义实验室Z-Image-Turbo模型的图像生成工具,专门针对动…...
PHP-WebDriver并发测试终极指南:多线程与分布式测试架构完全解析
PHP-WebDriver并发测试终极指南:多线程与分布式测试架构完全解析 【免费下载链接】php-webdriver PHP client for Selenium/WebDriver protocol. Previously facebook/php-webdriver 项目地址: https://gitcode.com/gh_mirrors/ph/php-webdriver PHP-WebDriv…...
开源激活利器:KMS_VL_ALL_AIO全场景应用指南
开源激活利器:KMS_VL_ALL_AIO全场景应用指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 问题:激活困境与技术痛点 个人用户的激活难题 当Windows系统突然弹出激活提…...
IAR开发环境配置:解决Fatal Error[Pe1696]头文件缺失问题
1. 初识Fatal Error[Pe1696]:头文件去哪了? 第一次用IAR开发环境的朋友,十有八九会遇到这个让人抓狂的错误提示:"Fatal Error[Pe1696]: cannot open source file core_cm0plus.h"。这就像你照着菜谱做菜,明明…...
claude加持快马平台:三步生成你的第一个博客网站原型
最近想快速搭建一个个人博客网站的原型,用来验证一些内容创作的想法。作为一个前端开发新手,我尝试了在InsCode(快马)平台上使用Claude模型来生成代码,整个过程出乎意料地顺畅。下面记录下我的实践过程,或许对同样想快速实现原型的…...
c++如何实现基于流缓冲区派生类的高级虚流映射与内存模拟文件【底层】
不能直接继承 std::streambuf 做“虚文件”,因其仅提供 underflow()/overflow() 等底层I/O操作,缺失 open/close/seek/stat 等文件语义,需自行实现 seekoff()(区分读写位置与 end 语义)、xsputn() 回退机制等ÿ…...
如何轻松备份你的QQ空间回忆?GetQzonehistory三步搞定完整导出
如何轻松备份你的QQ空间回忆?GetQzonehistory三步搞定完整导出 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心那些记录青春时光的QQ空间说说会随着时间消失&am…...
