CN113641631A - 基于区块链的ipfs文件管理方法、设备及存储介质 - Google Patents
基于区块链的ipfs文件管理方法、设备及存储介质 Download PDFInfo
- Publication number
- CN113641631A CN113641631A CN202110918069.2A CN202110918069A CN113641631A CN 113641631 A CN113641631 A CN 113641631A CN 202110918069 A CN202110918069 A CN 202110918069A CN 113641631 A CN113641631 A CN 113641631A
- Authority
- CN
- China
- Prior art keywords
- ipfs
- file
- block chain
- target file
- hash value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims abstract description 170
- 238000000034 method Methods 0.000 claims abstract description 22
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 claims description 26
- 238000013461 design Methods 0.000 claims description 12
- 230000010354 integration Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 241000609666 Tuber aestivum Species 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000013500 data storage Methods 0.000 abstract description 5
- 238000011161 development Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 239000004744 fabric Substances 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101710107944 Isopenicillin N synthase Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于区块链的IPFS文件管理方法,其包括步骤:网页前端通过IPFS文件管理端将目标文件传输至IPFS,目标文件用于IPFS文件管理端将目标文件存储IPFS中,并获取哈希值;网页前端通过IPFS文件管理端获取哈希值,将哈希值传输至区块链后端,以使哈希值存储于区块链后端;网页前端向区块链后端发出执行智能合约的执行请求,再将从区块链后端获得的哈希值进行展示;网页前端接收外部指令,通过哈希值访问IPFS文件管理端的目标文件,再根据指令上传或下载目标文件。本发明还提供了一种IPFS文件管理设备以及计算机可读存储介质。采用本发明的技术方案的数据存储的安全性高、隐私性高且易于使用。
Description
【技术领域】
本发明涉及数据处理技术领域,尤其涉及一种基于区块链的IPFS文件管理方法、IPFS文件管理设备以及计算机可读存储介质。
【背景技术】
随着互联网的发展,用户将文件上传至互联网上进行存储和管理越来越来重要。数据存储和安全一直是当代互联网的一个工作重点,如何可靠地存储数据以及保护数据的安全性和隐私性也是一个难关。另一方面对于网络电子交易在各方面的要求也越来越高,不仅要快速处理交易更要保证交易的可靠性,安全性
目前,用户一般通过将文件上传至云盘、区块链及IPFS(Inter Planetary FileSystem)进行存储。
然而,传统的云盘是中心化的,传统云盘以其容量大、运行稳定、使用方便等特性,目前已经有广泛应用。但很多行业用户出于数据安全特别是隐私考虑,不愿把数据放在互联网上。特别是对于一些内外网隔离的环境,基于互联网的云盘更是无法使用。通常对于云盘上存储的文件,如果将来要作为证据使用,必然需要实现数据完整性验证机制,而区块链技术构建的可信任、不能篡改等特征天然具有这些特性。
区块链上的数据具有非常强的可靠性和安全性,但由于区块链特点在区块链平台上写入数据需要产生交易,根据数据的容量大小计算需要相应的手续费。如果数据过多还可能因为交易产生的手续费超过平台的手续费限制,从而导致交易回滚。所以在区块链上不适合存储大文件,只适合存储小的信息,交易记录,用户信息,元数据等。
另一方面,对于普通用户而言,在IPFS上传文件获得的索引哈希不便于集中管理和记忆,虽然IPFS官方提出了IPNS命名服务,但每对应一个文件需要用IPFS命令生成一个公钥对应,这种方法对用户并不方便且仍是不好记忆。
对于已有的关于区块链结合IPFS的文件***的技术方案中,存在以下问题:一是针对区块链底层存储方案的设计,但由于国外的主流区块链公链是Fabric和Ethereum等,国内流行的联盟链是Fabric国密版和FISCO BCOS等,主流区块链技术和生态大部分已经成型,新的区块链底层存储方案设计可行性有风险,对于项目实际开发难落地;二是针对区块链记录文件信息和IPFS技术存储文件内容结合,用传统数据库管理文件,区块链上记录作为文件验证信息,该方案中是以传统数据库方式管理文件,区块链技术作为数据安全验证辅助,相对于直接在区块链上存储管理文件的安全性较低,隐私性较低。
因此,实有必要提供一种新的方法和设备来解决上述技术问题。
【发明内容】
本发明的目的是克服上述技术问题,提供一种数据存储的安全性高、隐私性高且易于使用的基于区块链的IPFS文件管理方法、IPFS文件管理设备以及计算机可读存储介质。
第一方面,本发明实施例提供一种基于区块链的IPFS文件管理方法,所述基于区块链的IPFS文件管理方法应用于IPFS文件管理***,所述IPFS文件管理***包括:
区块链后端,用于在区块链平台上编写智能合约,并将所述智能合约发布于所述区块链中,还用于存储目标文件的哈希值;
IPFS文件管理端,用于存储所述目标文件,并提供应用程序接口用以在IPFS中进行文件操作,所述文件操作包括所述目标文件的上传或下载、根据所述目标文件进行计算出所述目标文件的哈希值以及通过所述哈希值访问所述目标文件;
网页前端,用于将所述IPFS文件管理端的所述哈希值传输至所述区块链后端,获取并展示所述区块链中存储的所述哈希值,并根据获取的所述哈希值访问所述目标文件;
所述基于区块链的IPFS文件管理方法包括如下步骤:
步骤S1、所述网页前端通过所述IPFS文件管理端将所述目标文件传输至IPFS,所述目标文件用于所述IPFS文件管理端将所述目标文件存储IPFS中,并获取IPFS生成的与所述目标文件相对应的哈希值;
步骤S2、所述网页前端通过所述IPFS文件管理端获取所述哈希值,将所述哈希值传输至所述区块链后端,以使所述哈希值存储于所述区块链后端;
步骤S3、所述网页前端向所述区块链后端发出执行所述智能合约的执行请求,再将从所述区块链后端获得的所述哈希值进行展示,所述哈希值为所述网页前端通过所述区块链后端执行所述智能合约获得;
步骤S4、所述网页前端接收外部指令,通过所述哈希值访问所述IPFS文件管理端的所述目标文件,再根据所述指令上传或下载所述目标文件。
更优的,所述网页前端为Web3.js库、以太坊钱包以及React框架共同构建形成;
所述Web3.js库为操作所述区块链中的所述智能合约的一套应用程序接口,所述Web3.js库用于获得所述区块链账户、获得所述智能合约实例、读取所述智能合约的信息以及调用所述智能合约;所述步骤S3中,所述网页前端通过所述Web3.js库将所述哈希值存储于所述区块链后端,并通过所述Web3.js库执行所述智能合约获取已存储的所述哈希值;
所述以太坊钱包用于管理所述区块链账户;所述步骤S4中,所述网页前端通过所述以太坊钱包实现所述外部用户的指令的执行;
所述React框架用于采用一套IPFS应用程序接口包上传和下载所述目标文件;所述步骤S1中,所述网页前端通过所述React框架执行所述目标文件上传;所述步骤S4中,所述网页前端通过所述React框架执行所述目标文件上传或下载。
更优的,所述网页前端通过所述Web3.js库修改所述智能合约中的所述目标文件的状态变量,以实现所述区块链后端的文件***支持访问管理机制和支持所述目标文件具有多级别的访问权限。
更优的,所述网页前端的网页界面设计通过node.js构造。
更优的,所述网页前端采用GitHub社区维护的OpenZeppelin库对所述智能合约进行设计,以用于实现所述目标文件的信息管理和权限管理;所述网页前端包括用户信息表、用户记录表、个人文件表以及总文件表:
所述用户信息表用于记录用户账号的个人信息,所述个人信息包括注册信息、登录信息以及用户的代币余额;
所述用户记录表用于记录所述区块链后端中所有的所述区块链账户;
所述个人文件表用于记录关于用户上传所述目标文件的所有信息;
所述总文件表用于通过用户地址映射和访问与所述用户地址相对应的所述个人文件表;其中,所述总文件表采用映射数据类型。
更优的,所述个人信息还包括积分值,所述网页前端按照预设的积分规则管理所述用户账号的所述积分值,所述网页前端采用以太坊ERC20标准实现所述预设的积分规则;
所述预设的积分规则为:
用户注册成功后,每一用户均获得X分的所述积分值,并根据各个用户的所述个人文件表中共享的所述目标文件状况进行判断:
若其中一个用户存在共享所述目标文件,则该用户的所述积分值增加X1分;
若其中一个用户取消共享所述目标文件,则该用户的所述积分值减少X2分;
若其中一个用户下载其他用户共享的所述目标文件,则下载所述目标文件的用户的所述积分值减少X3分,同时被下载所述目标文件的用户的所述积分值增加X4分;其中,X、X1、X2、X3、X4均为正整数,且X分别大于X1、X2、X3、X4。
更优的,所述基于区块链的IPFS文件管理方法还包括如下步骤:
步骤S5、所述网页前端根据所述预设的积分规则通过所述区块链后端修改所述智能合约中的积分值的状态变量。
更优的,所述区块链为以太坊区块链,所述智能合约采用Truffle框架编写;所述IPFS为IPFS集群,所述IPFS集群通过ipfs-cluster-service和ipfs-cluster-ctl对所述IPFS集群中的所有节点进行统一管理,其中,所述所有节点包括管理节点和普通节点,所述管理节点安装ipfs-cluster-ctl作为管理端,所述普通节点安装ipfs-cluster-service作为服务端。
第二方面,本发明实施例还提供一种IPFS文件管理设备,包括处理器和存储器,所述处理器用于读取所述存储器中的程序,所述处理器读取所述存储器中的程序时执行上中任一项所述的基于区块链的IPFS文件管理方法中的步骤。
第三方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现如上中任意一项所述的基于区块链的IPFS文件管理方法中的步骤。
与现有技术相比,本发明的基于区块链的IPFS文件管理方法、IPFS文件管理设备以及计算机可读存储介质通过所述IPFS文件管理***设定的区块链后端、IPFS文件管理端以及网页前端实现基于区块链的IPFS文件管理方法的如下步骤:步骤S1、所述网页前端通过所述IPFS文件管理端将所述目标文件传输至IPFS;步骤S2、所述网页前端通过所述IPFS文件管理端获取所述哈希值,将所述哈希值传输至所述区块链后端,以使所述哈希值存储于所述区块链后端;步骤S3、所述网页前端向所述区块链后端发出执行所述智能合约的执行请求,再将从所述区块链后端获得的所述哈希值进行展示,所述哈希值为所述网页前端通过所述区块链后端执行所述智能合约获得;步骤S4、所述网页前端接收外部指令,通过所述哈希值访问所述IPFS文件管理端的所述目标文件,再根据所述指令上传或下载所述目标文件。因此,区块链后端用智能合约管理文件,并将目标文件相对应的哈希值存储于区块链中,从而实现基于区块链的智能合约的去中心化文件存储,管理和共享,使得用户数据信息,文件数据信息的可靠性高和安全性好。IPFS文件管理端存储目标文件,使得IPFS文件管理端实现了其本身不存储任何用户文件信息和文件内容,极大的提高了用户在网络空间对文件的安全性和隐私性需求。并同时采用网页前端将区块链后端和IPFS文件管理端对目标文件和哈希值的管理,并使得用户登入,查看文件和通过哈希值下载文件采用本地调用智能合约的方式;而对于用户注册,上传文件得到的哈希值,修改文件信息和代币管理等采用发起交易的形式调用智能合约。网页前端的设置既保证分布式IPFS文件管理端的响应速度,又保证了区块链后端存储的文件的安全性和可靠性,实现了对网络空间存储文件的高效地管理文件和使得易于使用,从而使得本发明的技术方案具有数据存储的安全性高、隐私性高且易于使用的优点。
【附图说明】
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中,
图1为本发明实施例提供的一种IPFS文件管理***的结构框图;
图2为本发明实施例提供的一种基于区块链的IPFS文件管理方法的流程框图;
图3为本发明实施例提供的一种基于区块链的IPFS文件管理方法的步骤S3的流程框图;
图4为本发明实施例提供的一种基于区块链的IPFS文件管理方法的步骤S5的框图;
图5为本发明实施例提供的一种IPFS文件管理***的模块结构框图;
图6为本发明实施例提供的一种基于区块链的IPFS文件管理方法的网页前端的数据结构示意图;
图7为本发明实施例提供的一种IPFS文件管理设备的结构示意图。
【具体实施方式】
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。在本文中提及“实施例或本实施方式”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明提供一种基于区块链的IPFS文件管理方法。
请同时参照图1-6所示。
所述基于区块链的IPFS文件管理方法应用于IPFS文件管理***100,所述IPFS文件管理***100包括区块链后端1、网页前端2以及IPFS文件管理端3。
所述区块链后端1用于在区块链平台上编写智能合约,并将所述智能合约发布于所述区块链中,还用于存储目标文件的哈希值。所述区块链后端用智能合约管理文件,并将目标文件相对应的哈希值存储于区块链中,从而实现基于区块链的智能合约的去中心化文件存储,管理和共享,使得用户数据信息,文件数据信息的可靠性高和安全性好。
本实施方式中,所述区块链为以太坊区块链。其中,所述以太坊区块链实现了底层的区块链技术,屏蔽了底层区块链的细节。更优的,所述以太坊区块链提供了一种名为Solidity静态语言给程序员编写智能合约,同时提供了一些关于区块链信息的全局函数和全局变量。所述以太坊区块链的特性让开发人员可以十分便捷地对智能合约开发,同时使用区块链的信息,而不必关注底层区块链实现的细节。由于所述以太坊区块链的特点,本实施方式中的技术方案选择的所述区块链为以太坊区块链,在以太坊区块链平台上编写智能合约,从而实现所述IPFS文件管理***100的后端功能,然后将智能合约发布到区块链环境中。当然,不限于此,所述区块链为还可以采用其他,例如区块链公链Fabric、联盟链Fabric国密版和联盟链FISCO BCOS。
更优的,本实施方式中的技术方案使用Remix进行所述智能合约的编写和测试。Remix是一种网页在线的区块链开发环境,在浏览器中搜索Remix,看到Remix-EthereumIDE词条便是开发环境入口。该IDE提供了许多功能,如编译,调试,运行智能合约,对智能进行静态分析,单元测试等。另一个特点是,Remix部署的方式很灵活,十分方便开发人员对智能合约的开发和测试。
本实施方式中,在所述以太坊区块链平台上,所述智能合约由Solidity语言编写而成,其关键字是contract,类似于c++的类,contract中可以包含变量和方法,还可以包含其他contract。发起交易实际上是执行智能合约,而执行智能合约实际上就是执行contract中的方法。Solidity是一个语法类似于JavaScript的,面向合约的高级语言,编译后的二进制在EVM中运行。Solidity是一个静态类型语言,支持继承,库访问,复杂的用户定义类型等特性。Solidity高级合约语言目前在所述以太坊区块链的合约中使用最为广泛和效率高。
本实施方式中,所述智能合约采用Truffle框架编写。所述Truffle框架是一个所述以太坊区块链环境世界级的开发环境,测试框架,所述以太坊区块链的资源管理通道,致力于让所述以太坊区块链上的开发变得简单。所述Truffle框架具有以下特点:内置的智能合约编译,链接,部署和二进制文件的管理。快速开发下的自动合约测试。脚本化的,可扩展的部署与发布框架。部署公网或私网的网络环境管理功能。使用EthPM和NPM提供的包管理,使用ERC190标准。与合约直接通信的直接交互控制台,写完合约就可以命令行里验证。可配的构建流程,支持紧密集成。在Truffle环境里还支持执行外部的脚本。
所述IPFS文件管理端3用于存储所述目标文件,并提供应用程序接口用以在IPFS中进行文件操作。所述文件操作包括所述目标文件的上传或下载、根据所述目标文件进行计算出所述目标文件的哈希值以及通过所述哈希值访问所述目标文件。所述IPFS文件管理端存储目标文件,使得所述IPFS文件管理端实现了其本身不存储任何用户文件信息和文件内容,极大的提高了用户在网络空间对文件的安全性和隐私性需求。更优的,所述IPFS文件管理端3实现文件支持分布式多副本存储。
本实施方式中,所述IPFS为IPFS集群,所述IPFS集群通过ipfs-cluster-service和ipfs-cluster-ctl对所述IPFS集群中的所有节点进行统一管理。所述IPFS集群的主要功能为在所述所有节点中实现统一进行上传文件操作、pin格式文件操作和删除文件操作。
其中,所述所有节点包括管理节点和普通节点。所述管理节点安装ipfs-cluster-ctl作为管理端。所述普通节点安装ipfs-cluster-service作为服务端。与传统的Web服务不同,所述网页前端2的Web服务应用于多台服务器上,从而达到缓解单一的服务器。例如当用户上传所述目标文件时,将所述目标文件上传至所述IPFS集群中的当前服务所在的所述普通节点,即本地的服务端;然后将所述目标文件固定存储在所述IPFS集群上,将所述目标文件缓存在当前的本地的服务端。而当用户下载所述目标文件时,先访问当前的本地的服务端是否缓存,如果没有,则通过所述IPFS集群的节点路由网络下载。因此,通过所述IPFS集群中的本地的服务端缓存数据和所述IPFS集群固定数据,让数据的上传下载变得高效,同时保障了数据的可靠性和安全性。
所述网页前端2用于将所述IPFS文件管理端3的所述哈希值传输至所述区块链后端1,获取并展示所述区块链中存储的所述哈希值,并根据获取的所述哈希值访问所述目标文件。
具体的,所述网页前端2为Web3.js库21、以太坊钱包22以及React框架23共同构建形成。
所述Web3.js库21为操作所述区块链中的所述智能合约的一套应用程序接口(英文:Application Programming Interface,简称API)。所述Web3.js库21用于获得所述区块链账户、获得所述智能合约实例、读取所述智能合约的信息以及调用所述智能合约。
所述Web3.js库21是一个JavaScript库,里面提供了网页前端如何操作以太坊区块链智能合约的一套应用程序接口API,如获得以太坊账户,获得所述智能合约实例,读取所述智能合约信息,调用所述智能合约等。通过所述Web3.js库21的设置,所述网页前端2可以十分方便地连接所述区块链后端1和操作所述智能合约,构建基于Web的以太坊区块链程序,给开发带来了许多便利。
所述网页前端2的所述Web3.js库21作为连接库连接所述区块链后端1。具体的,所述网页前端2通过所述Web3.js库21修改所述智能合约中的所述目标文件的状态变量,以实现所述区块链后端1的文件***支持访问管理机制和支持所述目标文件具有多级别的访问权限。所述Web3.js库21的设置有利于所述网页前端2对所述区块链后端1的文件操作和管理。
本实施方式中,所述网页前端2采用GitHub社区维护的OpenZeppelin库对所述智能合约进行设计,以用于实现所述目标文件的信息管理和权限管理,从而可以可靠地设计实现对所述目标文件的信息管理和权限管理。其中,通过所述网页前端2管理自己的文件,这里以查看共享文件组为例进行说明,该文件管理方式灵活,还可选择历史版本文件。并可设置不同权限的文件组,所述目标文件的权限;移动文件;组内共享成员管理等。以上通过修改所述智能合约的功能设计,让所述目标文件共享方式灵活且易于管理。
当然,不限于此,所述网页前端2采用GitHub社区维护的OpenZeppelin库实现对平台角色权限的管理。所述平台角色包括普通用户和管理员。其中,普通用户一般是先注册用户信息,然后登录本所述IPFS文件管理***100。下一步进入所述IPFS文件管理***100的所述网页前端2的用户主界面后就可以进行文件管理,如查看用户个人信息和积分,查看和修改文件信息,上传和下载文件内容。普通用户对其所有的文件有完全的操作权限。在所述IPFS文件管理***100的所述网页前端2的用户主界面上,普通用户可以发布需求文件,也可以举报非法文件,这都可以增加普通用户的积分。但如果普通用户多次违规或恶意访问,将会被加入***黑名单,受到***限制访问、文件上传与下载等惩罚。而管理员进行平台的社区维护。例如,将多次违规的普通用户加入黑名单,并限制其权限;修改某内容非法的文件在平台的可见性等。
所述以太坊钱包22(MetaMask)用于管理所述区块链账户。所述以太坊钱包22(MetaMask)是一个与Google,Chrome、Opera和Firefox兼容的网页浏览器插件。所述以太坊钱包22(MetaMask)可以像其他任何Google Chrome扩展或Firefox插件一样安装。安装和上手是相当容易的。通过所述以太坊钱包22(MetaMask)安装并运行,现在就有了一个功能齐全的所述以太坊钱包22可直接内置在用户的浏览器中。从而使得所述以太坊钱包22可以很方便地管理用户账号,向他人转账,发起交易,并对交易进行处理,如接受,拒绝交易。通过在所述网页前端2使用内置的所述以太坊钱包22(MetaMask)可以在所述网页前端2省去许多关于用户信息和以太坊区块链的操作,既简化了用户在web的操作,又简化了所述网页前端2的开发。
所述React框架23用于采用一套IPFS应用程序接口包上传和下载所述目标文件。所述React框架23是一个用于构建用户界面的JAVASCRIPT库。所述React框架23主要用于构建UI,起源于Facebook的内部项目,用来架设Instagram的网站,并于2013年5月开源。所述React框架23拥有较高的性能,代码逻辑简单,越来越多的人已开始关注和使用。所述React框架23对于npm包的管理和引入十分便捷和简单,能很好地引用IPFS-API包。当然,不限于此,采用Vue框架替代所述React框架23也是可以的。
本实施方式中,所述网页前端2的网页界面设计通过node.js构造。采用node.js构造所述网页前端2的网页界面具有易于开发设计,并结合所述React框架23可以实现所述IPFS文件管理***100的云盘的业务逻辑、调用区块链服务以及调用IPFS文件服务。
需要指出的是,所述Web3.js库21、所述以太坊钱包22以及所述React框架23均为本领域技术中常用的软件程序或模块,具体性能需要根据***的实际设计需要进行设计和调整,在此,不作详细赘述。
所述基于区块链的IPFS文件管理方法包括如下步骤:
步骤S1、所述网页前端2通过所述IPFS文件管理端3将所述目标文件传输至IPFS。所述目标文件用于所述IPFS文件管理端将所述目标文件存储IPFS中,并获取IPFS生成的与所述目标文件相对应的哈希值。
本实施方式中,所述步骤S1中,所述网页前端2通过所述React框架23执行所述目标文件上传;
步骤S2、所述网页前端2通过所述IPFS文件管理端3获取所述哈希值,将所述哈希值传输至所述区块链后端1,以使所述哈希值存储于所述区块链后端1。
步骤S3、所述网页前端2向所述区块链后端1发出执行所述智能合约的执行请求,再将从所述区块链后端1获得的所述哈希值进行展示。所述哈希值为所述网页前端2通过所述区块链后端1执行所述智能合约获得。
由于所述网页前端2的Web界面用于展示以太坊区块链存储的数据,同时为用户提供友好的人机交互。所述网页前端2主要实现的功能为:通过访问以太坊区块链,向用户显示用户信息。本实施方式中,所述网页前端2提供一个定制的按钮用于上传和下载文件。从而用户可以选择查看个人文件和查看网络中共享的文件。具体的,所述步骤S3具体包括如下步骤:
步骤S31、所述网页前端2向所述区块链后端1发出执行请求。
步骤S32、所述网页前端2获得与所述执行请求相对应的执行结果和所述哈希值。所述执行结果为所述区块链后端1根据所述执行请求执行所述智能合约产生。
步骤S33、所述网页前端2根据所述执行结果将其页面进行渲染。
步骤S34、所述网页前端2在渲染后的页面内将所述哈希值进行展示。
本实施方式中,所述步骤S3中,所述网页前端2通过所述Web3.js库21将所述哈希值存储于所述区块链后端1,并通过所述Web3.js库21执行所述智能合约获取已存储的所述哈希值。
步骤S4、所述网页前端2接收外部指令,通过所述哈希值访问所述IPFS文件管理端3的所述目标文件,再根据所述指令上传或下载所述目标文件。
其中,所述外部指令由用户在所述网页前端2的显示界面选择菜单或者按键自动产生的指令。
由所述步骤S1至所述步骤S4的实施,使得所述基于区块链的IPFS文件管理方法具有以下有益效果:
第一、所述网页前端2有效地将以太坊区块链与IPFS两种互联网技术结合应用,从而解决了决所述区块链后端1中的区块链存储大容量文件费用过高的问题。用户在所述网页前端2可以通过查询在区块链上纪录的元信息获得所述目标文件的文件信息,从而使得用于易于管理文件权限和上传下载文件。其中,由于所述区块链后端1中的区块链是去中心化的第三方工具,具有基于单向hash函数的不可否认性,用户能信任所述区块链后端1的区块链上的元信息并确定元信息的真实性。而所述IPFS文件管理端3的IPFS是基于内容的寻址替代传统的基于域名的寻址,用户不需要关心服务器的位置,不用考虑文件存储的名字和路径。将一个所述目标文件放到IPFS节点中,将会得到基于其内容计算出的唯一加密的所述哈希值。所述哈希值直接反映文件的内容,即使只修改1比特,所述哈希值也会完全不同。所述目标文件存储在所述IPFS文件管理端3的IPFS服务器上保证了所述目标文件的安全性。所述网页前端2有效地将以太坊区块链与IPFS两种互联网技术结合应用,不仅从文件信息方面保障了信息记录的透明性、安全性高,并由用户自主控制,而且保障了文件内容的可靠性好且安全性高。
第二、所述网页前端2采用与所述区块链后端1的执行所述智能合约进行文件管理,使得用户与所述IPFS文件管理端3的IPFS服务器不直接接触。由于由IPFS服务的特点,若用命令行方式操作管理文件和记录文件的哈希值,对于普通用户而言不方便使用;同时所述哈希值也不方便记忆和管理,并且用户自己管理的哈希值可能信息泄漏,导致安全性下降。而所述网页前端2采用与所述区块链后端1的执行所述智能合约进行文件管理,不仅能让用户便捷操作和管理文件,而且保证文件信息安全可靠的记录在所述区块链后端1的区块链中。
第三、将所述目标文件存储在所述IPFS文件管理端3中,同时所述目标文件的哈希值存储在所述区块链后端1的区块链中,从而实现低成本地的云盘***的透明化。传统的云盘***是中心化的,用户只能单方面相信平台的行为,不会泄漏数据,不会读取用户文件信息,不会侵犯用户隐私等。另一方面,在过去几年黑客入侵云盘***,盗取用户文件信息和内容时有发生。很多行业用户出于数据安全特别是隐私考虑,不愿把数据放在互联网上。而所述网页前端2有效地将以太坊区块链与IPFS两种互联网技术结合应用,用技术特点保证了文件管理的透明性以及文件信息和内容的安全性、隐私性、可靠性。
本实施方式中,所述网页前端2通过所述以太坊钱包22实现所述外部用户的指令的执行。
本实施方式中,所述网页前端2通过所述React框架23执行所述目标文件上传或下载。
本实施方式中,所述网页前端2的数据结构采用表格格式,具体的,所述网页前端2包括用户信息表、用户记录表、个人文件表以及总文件表。
所述用户信息表用于记录用户账号的个人信息,所述个人信息包括注册信息、登录信息以及用户的代币余额。
所述用户记录表用于记录所述区块链后端1中所有的所述区块链账户。
所述个人文件表用于记录关于用户上传所述目标文件的所有信息。
所述总文件表用于通过用户地址映射和访问与所述用户地址相对应的所述个人文件表。
其中,所述总文件表采用映射数据类型。通过用户地址映射所述个人文件,通过用户地址访问用户的所述个人文件只需较少的时间,高效而且操作方便。所述个人文件用于记录关于用户上传文件的各种信息。所述目标文件的所述哈希值,用于在IPFS中索引文件。所述目标文件的文件名,用于反馈用户信息和下载文件。所述目标文件的时间,用于反馈用户信息。所述目标文件的权限,用于记录用户是否在本分布式文件***中共享该文件。所述网页前端2采用GitHub社区维护的OpenZeppelin库,并结合以太坊的所述智能合约的特点,用映射数据类型结构设计了若干个信息记录表,实现对文件信息的记录和文件权限的管理,从而可以高效便捷地管理文件信息。
所述网页前端2使用OpenZeppelin库让文件权限管理安全可靠,使用智能合约和映射数据类型结构设计所述用户信息表、所述用户记录表、所述个人文件表以及所述总文件表,让文件相关信息高效可靠地存储在区块链中,实现文件信息存储和文件操作相关业务,普通用户对管理文件有完全的操作权利,保证了所述目标文件的隐私性,安全性,也保证了所述网页前端2的服务具有去中心化和透明性的特点。
本实施方式中,所述个人信息还包括积分值。所述网页前端2按照预设的积分规则管理所述用户账号的所述积分值。由于本技术方案的所述哈希值存储于所述区块链后端1中,因此可以所述网页前端2实现在存储文件的基础上的一套智能合约方案,管理文件信息和实现积分规则。
其中,所述预设的积分规则为:
用户注册成功后,每一用户均获得X分的所述积分值,并根据各个用户的所述个人文件表中共享的所述目标文件状况进行判断:
若其中一个用户存在共享所述目标文件,则该用户的所述积分值增加X1分;
若其中一个用户取消共享所述目标文件,则该用户的所述积分值减少X2分;
若其中一个用户下载其他用户共享的所述目标文件,则下载所述目标文件的用户的所述积分值减少X3分,同时被下载所述目标文件的用户的所述积分值增加X4分。其中,X、X1、X2、X3、X4均为正整数,且X分别大于X1、X2、X3、X4。
例如,X为100,而X1、X2、X3、X4分别设为10、10、5、5。当然,为了容易操作,X1、X2、X3、X4分别设为10、10、10、10。
所述基于区块链的IPFS文件管理方法还包括如下步骤:
步骤S5、所述网页前端2根据所述预设的积分规则通过所述区块链后端1修改所述智能合约中的积分值的状态变量。
所述步骤S5可以使得用户可以分享自己的存储资源给他人,并获得相应的奖励,从而提高所述基于区块链的IPFS文件管理方法使用的便携性和易用性。
本实施方式中,所述网页前端采用以太坊ERC20标准实现所述预设的积分规则。从而将所述网页前端2打造成一个可供用户社交的社区,并将其与所述预设的积分规则相结合,以鼓励用户更多地使用我们的所述网页前端2形成的社区化平台。社区化平台的一个核心是资源共享。共享出的资源可以是限量的,也可以是不限量的。普通用户需要花费一定数量的积分来获取想要的资源,该积分将被社区化平台与分享资源的普通用户按一定比例分成。资源越稀有,普通用户得到的积分分成就越多。普通用户如果想要获取某资源,可以发布资源悬赏,以一定数额的积分作为奖励,鼓励拥有该资源的普通用户分享该资源。此时,被分享的资源只能被悬赏该资源的普通用户获取。
综上所述,采用网页前端2将区块链后端1和IPFS文件管理端3对目标文件和哈希值的管理,并使得用户登入,查看文件和通过哈希值下载文件采用本地调用智能合约的方式;而对于用户注册,上传文件得到的哈希值,修改文件信息和代币管理等采用发起交易的形式调用智能合约。也就是或,网页前端2的设置既保证分布式IPFS文件管理端3的响应速度,又保证了区块链后端1存储的文件的安全性和可靠性,实现了对网络空间存储文件的高效地管理文件和使得易于使用。
本发明还提供一种IPFS文件管理设备1000。请参照图7所示,图7为本发明IPFS文件管理设备1000的结构示意图。
所述IPFS文件管理设备1000包括处理器1001、存储器1002、网络接口1003及存储在存储器1002上并可在处理器1001上运行的计算机程序,所述处理器1001用于读取所述存储器中1002的程序,处理器1001执行计算机程序时实现实施例提供的基于区块链的IPFS文件管理方法中的步骤。即处理器1001执行所述基于区块链的IPFS文件管理方法中的步骤。
具体的,处理器1001用于执行以下步骤:
步骤S1、所述网页前端通过所述IPFS文件管理端将所述目标文件传输至IPFS。所述目标文件用于所述IPFS文件管理端将所述目标文件存储IPFS中,并获取IPFS生成的与所述目标文件相对应的哈希值。
步骤S2、所述网页前端通过所述IPFS文件管理端获取所述哈希值,将所述哈希值传输至所述区块链后端,以使所述哈希值存储于所述区块链后端。
步骤S3、所述网页前端向所述区块链后端发出执行所述智能合约的执行请求,再将从所述区块链后端获得的所述哈希值进行展示,所述哈希值为所述网页前端通过所述区块链后端执行所述智能合约获得。
步骤S4、所述网页前端接收外部指令,通过所述哈希值访问所述IPFS文件管理端的所述目标文件,再根据所述指令上传或下载所述目标文件。
本发明实施例提供的所述IPFS文件管理设备1000能够实现基于区块链的IPFS文件管理方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。
需要指出的是,图中仅示出了具有组件的1001-1003,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的所述IPFS文件管理设备1000是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述存储器1002至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器1002可以是所述IPFS文件管理设备1000的内部存储单元,例如所述IPFS文件管理设备1000的硬盘或内存。在另一些实施例中,所述存储器1002也可以是所述IPFS文件管理设备1000的外部存储设备,例如该IPFS文件管理设备1000上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器1002还可以既包括所述IPFS文件管理设备1000的内部存储单元也包括其外部存储设备。本实施例中,所述存储器1002通常用于存储安装于所述IPFS文件管理设备1000的操作***和各类应用软件,例如IPFS文件管理设备1000的基于区块链的IPFS文件管理方法的程序代码等。此外,所述存储器1002还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器1001在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该所述处理器1001通常用于控制所述IPFS文件管理设备1000的总体操作。本实施例中,所述处理器1001用于运行所述存储器1002中存储的程序代码或者处理数据,例如运行IPFS文件管理设备1000的基于区块链的IPFS文件管理方法的程序代码。
网络接口1003可包括无线网络接口或有线网络接口,该网络接口1003通常用于在IPFS文件管理设备1000与其他电子设备之间建立通信连接。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器1001执行时实现如上所述的基于区块链的IPFS文件管理方法中的步骤。
本领域普通技术人员可以理解实现实施例专项防控设备的基于区块链的IPFS文件管理方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random Access Memory,简称RAM)等。
在本发明实施例中提到的本实施方式为了便于表述。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
与现有技术相比,本发明的基于区块链的IPFS文件管理方法、IPFS文件管理设备以及计算机可读存储介质通过所述IPFS文件管理***设定的区块链后端、IPFS文件管理端以及网页前端实现基于区块链的IPFS文件管理方法的如下步骤:步骤S1、所述网页前端通过所述IPFS文件管理端将所述目标文件传输至IPFS;步骤S2、所述网页前端通过所述IPFS文件管理端获取所述哈希值,将所述哈希值传输至所述区块链后端,以使所述哈希值存储于所述区块链后端;步骤S3、所述网页前端向所述区块链后端发出执行所述智能合约的执行请求,再将从所述区块链后端获得的所述哈希值进行展示,所述哈希值为所述网页前端通过所述区块链后端执行所述智能合约获得;步骤S4、所述网页前端接收外部指令,通过所述哈希值访问所述IPFS文件管理端的所述目标文件,再根据所述指令上传或下载所述目标文件。因此,区块链后端用智能合约管理文件,并将目标文件相对应的哈希值存储于区块链中,从而实现基于区块链的智能合约的去中心化文件存储,管理和共享,使得用户数据信息,文件数据信息的可靠性高和安全性好。IPFS文件管理端存储目标文件,使得IPFS文件管理端实现了其本身不存储任何用户文件信息和文件内容,极大的提高了用户在网络空间对文件的安全性和隐私性需求。并同时采用网页前端将区块链后端和IPFS文件管理端对目标文件和哈希值的管理,并使得用户登入,查看文件和通过哈希值下载文件采用本地调用智能合约的方式;而对于用户注册,上传文件得到的哈希值,修改文件信息和代币管理等采用发起交易的形式调用智能合约。网页前端的设置既保证分布式IPFS文件管理端的响应速度,又保证了区块链后端存储的文件的安全性和可靠性,实现了对网络空间存储文件的高效地管理文件和使得易于使用,从而使得本发明的技术方案具有数据存储的安全性高、隐私性高且易于使用的优点。
以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
Claims (10)
1.一种基于区块链的IPFS文件管理方法,其特征在于,所述基于区块链的IPFS文件管理方法应用于IPFS文件管理***,所述IPFS文件管理***包括:
区块链后端,用于在区块链平台上编写智能合约,并将所述智能合约发布于所述区块链中,还用于存储目标文件的哈希值;
IPFS文件管理端,用于存储所述目标文件,并提供应用程序接口用以在IPFS中进行文件操作,所述文件操作包括所述目标文件的上传或下载、根据所述目标文件进行计算出所述目标文件的哈希值以及通过所述哈希值访问所述目标文件;
网页前端,用于将所述IPFS文件管理端的所述哈希值传输至所述区块链后端,获取并展示所述区块链中存储的所述哈希值,并根据获取的所述哈希值访问所述目标文件;
所述基于区块链的IPFS文件管理方法包括如下步骤:
步骤S1、所述网页前端通过所述IPFS文件管理端将所述目标文件传输至IPFS,所述目标文件用于所述IPFS文件管理端将所述目标文件存储IPFS中,并获取IPFS生成的与所述目标文件相对应的哈希值;
步骤S2、所述网页前端通过所述IPFS文件管理端获取所述哈希值,将所述哈希值传输至所述区块链后端,以使所述哈希值存储于所述区块链后端;
步骤S3、所述网页前端向所述区块链后端发出执行所述智能合约的执行请求,再将从所述区块链后端获得的所述哈希值进行展示,所述哈希值为所述网页前端通过所述区块链后端执行所述智能合约获得;
步骤S4、所述网页前端接收外部指令,通过所述哈希值访问所述IPFS文件管理端的所述目标文件,再根据所述指令上传或下载所述目标文件。
2.根据权利要求1所述的基于区块链的IPFS文件管理方法,其特征在于,所述网页前端为Web3.js库、以太坊钱包以及React框架共同构建形成;
所述Web3.js库为操作所述区块链中的所述智能合约的一套应用程序接口,所述Web3.js库用于获得所述区块链账户、获得所述智能合约实例、读取所述智能合约的信息以及调用所述智能合约;所述步骤S3中,所述网页前端通过所述Web3.js库将所述哈希值存储于所述区块链后端,并通过所述Web3.js库执行所述智能合约获取已存储的所述哈希值;
所述以太坊钱包用于管理所述区块链账户;所述步骤S4中,所述网页前端通过所述以太坊钱包实现所述外部用户的指令的执行;
所述React框架用于采用一套IPFS应用程序接口包上传和下载所述目标文件;所述步骤S1中,所述网页前端通过所述React框架执行所述目标文件上传;所述步骤S4中,所述网页前端通过所述React框架执行所述目标文件上传或下载。
3.根据权利要求2所述的基于区块链的IPFS文件管理方法,其特征在于,所述网页前端通过所述Web3.js库修改所述智能合约中的所述目标文件的状态变量,以实现所述区块链后端的文件***支持访问管理机制和支持所述目标文件具有多级别的访问权限。
4.根据权利要求3所述的基于区块链的IPFS文件管理方法,其特征在于,所述网页前端的网页界面设计通过node.js构造。
5.根据权利要求1所述的基于区块链的IPFS文件管理方法,其特征在于,所述网页前端采用GitHub社区维护的OpenZeppelin库对所述智能合约进行设计,以用于实现所述目标文件的信息管理和权限管理;所述网页前端包括用户信息表、用户记录表、个人文件表以及总文件表:
所述用户信息表用于记录用户账号的个人信息,所述个人信息包括注册信息、登录信息以及用户的代币余额;
所述用户记录表用于记录所述区块链后端中所有的所述区块链账户;
所述个人文件表用于记录关于用户上传所述目标文件的所有信息;
所述总文件表用于通过用户地址映射和访问与所述用户地址相对应的所述个人文件表;其中,所述总文件表采用映射数据类型。
6.根据权利要求5所述的基于区块链的IPFS文件管理方法,其特征在于,所述个人信息还包括积分值,所述网页前端按照预设的积分规则管理所述用户账号的所述积分值,所述网页前端采用以太坊ERC20标准实现所述预设的积分规则;
所述预设的积分规则为:
用户注册成功后,每一用户均获得X分的所述积分值,并根据各个用户的所述个人文件表中共享的所述目标文件状况进行判断:
若其中一个用户存在共享所述目标文件,则该用户的所述积分值增加X1分;
若其中一个用户取消共享所述目标文件,则该用户的所述积分值减少X2分;
若其中一个用户下载其他用户共享的所述目标文件,则下载所述目标文件的用户的所述积分值减少X3分,同时被下载所述目标文件的用户的所述积分值增加X4分;其中,X、X1、X2、X3、X4均为正整数,且X分别大于X1、X2、X3、X4。
7.根据权利要求6所述的基于区块链的IPFS文件管理方法,其特征在于,所述基于区块链的IPFS文件管理方法还包括如下步骤:
步骤S5、所述网页前端根据所述预设的积分规则通过所述区块链后端修改所述智能合约中的积分值的状态变量。
8.根据权利要求1所述的基于区块链的IPFS文件管理方法,其特征在于,所述区块链为以太坊区块链,所述智能合约采用Truffle框架编写;所述IPFS为IPFS集群,所述IPFS集群通过ipfs-cluster-service和ipfs-cluster-ctl对所述IPFS集群中的所有节点进行统一管理,其中,所述所有节点包括管理节点和普通节点,所述管理节点安装ipfs-cluster-ctl作为管理端,所述普通节点安装ipfs-cluster-service作为服务端。
9.一种IPFS文件管理设备,其特征在于,包括处理器和存储器,所述处理器用于读取所述存储器中的程序,执行如权利要求1至8中任一项所述的基于区块链的IPFS文件管理方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现如权利要求1-8中任意一项所述的基于区块链的IPFS文件管理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110918069.2A CN113641631B (zh) | 2021-08-10 | 2021-08-10 | 基于区块链的ipfs文件管理方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110918069.2A CN113641631B (zh) | 2021-08-10 | 2021-08-10 | 基于区块链的ipfs文件管理方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641631A true CN113641631A (zh) | 2021-11-12 |
CN113641631B CN113641631B (zh) | 2023-05-23 |
Family
ID=78420745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110918069.2A Active CN113641631B (zh) | 2021-08-10 | 2021-08-10 | 基于区块链的ipfs文件管理方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641631B (zh) |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180264347A1 (en) * | 2016-05-02 | 2018-09-20 | Bao Tran | Smart device |
CN109165205A (zh) * | 2018-08-21 | 2019-01-08 | 甲骨文科技时代(深圳)有限公司 | 一种基于区块链的数据存储方法及装置 |
CN109389500A (zh) * | 2018-09-29 | 2019-02-26 | 重庆邮电大学 | 基于以太坊的数据交易平台 |
CN109427012A (zh) * | 2017-08-22 | 2019-03-05 | 汇链丰(北京)科技有限公司 | 一种基于区块链的交易和验证方法 |
CN109617903A (zh) * | 2018-12-29 | 2019-04-12 | 杭州趣链科技有限公司 | 一种基于ipfs和区块链的可信文件存储***及方法 |
CN109710691A (zh) * | 2018-12-20 | 2019-05-03 | 清华大学 | 一种基于深度学习的混合区块链模型构建方法 |
CN109993647A (zh) * | 2019-03-08 | 2019-07-09 | 西安电子科技大学 | 一种基于区块链的纳税征信***及处理方法 |
US20190317936A1 (en) * | 2018-11-09 | 2019-10-17 | Innoplexus Ag | System and method for interoperability of blockchains |
CN110851796A (zh) * | 2019-11-12 | 2020-02-28 | 北京工商大学 | 一种基于区块链智能合约的音乐版权保护*** |
CN111046439A (zh) * | 2019-12-03 | 2020-04-21 | 安徽航天信息科技有限公司 | 一种基于区块链的智能合约任务可验证方法和*** |
CN111061698A (zh) * | 2019-12-30 | 2020-04-24 | 语联网(武汉)信息技术有限公司 | 以太坊合约数据的存储方法及装置 |
CN111368330A (zh) * | 2020-03-03 | 2020-07-03 | 泰华智慧产业集团股份有限公司 | 一种基于区块链的以太坊智能合约审计***及方法 |
CN111726343A (zh) * | 2020-06-11 | 2020-09-29 | 桂林电子科技大学 | 一种基于ipfs和区块链的电子公文安全传输方法 |
CN111859422A (zh) * | 2020-07-10 | 2020-10-30 | 郑州信大先进技术研究院 | 一种基于区块链的数字资产存证*** |
CN111931246A (zh) * | 2020-06-01 | 2020-11-13 | 山东浪潮质量链科技有限公司 | 一种基于区块链的文件管理方法、设备及介质 |
CN112055025A (zh) * | 2020-09-10 | 2020-12-08 | 广西师范大学 | 一种基于区块链的隐私数据保护方法 |
US20210049589A1 (en) * | 2019-08-13 | 2021-02-18 | Innoplexus Ag | System and method for managing transactional interoperability amongst blockchains |
US20210055718A1 (en) * | 2018-03-23 | 2021-02-25 | Siemens Aktiengesellschaft | Computer-implemented method for providing data, in particular for conformity tracking |
CN112446046A (zh) * | 2020-11-23 | 2021-03-05 | 海南火链科技有限公司 | 基于智能合约的数据管理方法及装置 |
CN113191860A (zh) * | 2021-04-28 | 2021-07-30 | 电子科技大学 | 一种基于ipfs和以太坊区块链的竞拍***及方法 |
US20210243201A1 (en) * | 2018-06-14 | 2021-08-05 | Hewlett Packard Enterprise Development Lp | Blockchain-based verification framework |
-
2021
- 2021-08-10 CN CN202110918069.2A patent/CN113641631B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180264347A1 (en) * | 2016-05-02 | 2018-09-20 | Bao Tran | Smart device |
CN109427012A (zh) * | 2017-08-22 | 2019-03-05 | 汇链丰(北京)科技有限公司 | 一种基于区块链的交易和验证方法 |
US20210055718A1 (en) * | 2018-03-23 | 2021-02-25 | Siemens Aktiengesellschaft | Computer-implemented method for providing data, in particular for conformity tracking |
US20210243201A1 (en) * | 2018-06-14 | 2021-08-05 | Hewlett Packard Enterprise Development Lp | Blockchain-based verification framework |
CN109165205A (zh) * | 2018-08-21 | 2019-01-08 | 甲骨文科技时代(深圳)有限公司 | 一种基于区块链的数据存储方法及装置 |
CN109389500A (zh) * | 2018-09-29 | 2019-02-26 | 重庆邮电大学 | 基于以太坊的数据交易平台 |
US20190317936A1 (en) * | 2018-11-09 | 2019-10-17 | Innoplexus Ag | System and method for interoperability of blockchains |
CN109710691A (zh) * | 2018-12-20 | 2019-05-03 | 清华大学 | 一种基于深度学习的混合区块链模型构建方法 |
CN109617903A (zh) * | 2018-12-29 | 2019-04-12 | 杭州趣链科技有限公司 | 一种基于ipfs和区块链的可信文件存储***及方法 |
CN109993647A (zh) * | 2019-03-08 | 2019-07-09 | 西安电子科技大学 | 一种基于区块链的纳税征信***及处理方法 |
US20210049589A1 (en) * | 2019-08-13 | 2021-02-18 | Innoplexus Ag | System and method for managing transactional interoperability amongst blockchains |
CN110851796A (zh) * | 2019-11-12 | 2020-02-28 | 北京工商大学 | 一种基于区块链智能合约的音乐版权保护*** |
CN111046439A (zh) * | 2019-12-03 | 2020-04-21 | 安徽航天信息科技有限公司 | 一种基于区块链的智能合约任务可验证方法和*** |
CN111061698A (zh) * | 2019-12-30 | 2020-04-24 | 语联网(武汉)信息技术有限公司 | 以太坊合约数据的存储方法及装置 |
CN111368330A (zh) * | 2020-03-03 | 2020-07-03 | 泰华智慧产业集团股份有限公司 | 一种基于区块链的以太坊智能合约审计***及方法 |
CN111931246A (zh) * | 2020-06-01 | 2020-11-13 | 山东浪潮质量链科技有限公司 | 一种基于区块链的文件管理方法、设备及介质 |
CN111726343A (zh) * | 2020-06-11 | 2020-09-29 | 桂林电子科技大学 | 一种基于ipfs和区块链的电子公文安全传输方法 |
CN111859422A (zh) * | 2020-07-10 | 2020-10-30 | 郑州信大先进技术研究院 | 一种基于区块链的数字资产存证*** |
CN112055025A (zh) * | 2020-09-10 | 2020-12-08 | 广西师范大学 | 一种基于区块链的隐私数据保护方法 |
CN112446046A (zh) * | 2020-11-23 | 2021-03-05 | 海南火链科技有限公司 | 基于智能合约的数据管理方法及装置 |
CN113191860A (zh) * | 2021-04-28 | 2021-07-30 | 电子科技大学 | 一种基于ipfs和以太坊区块链的竞拍***及方法 |
Non-Patent Citations (2)
Title |
---|
徐家俊等: "针对SM4算法的功耗模板-碰撞分析" * |
范贤丽等: "基于区块链和IPFS技术实现粮食供应链隐私信息保护" * |
Also Published As
Publication number | Publication date |
---|---|
CN113641631B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106682028B (zh) | 获取网页应用的方法、装置及*** | |
CN105940654B (zh) | 特权静态被托管的web应用 | |
JP6898452B2 (ja) | データ取得方法およびデバイス | |
EP2734949B1 (en) | Trust level activation | |
US8924500B2 (en) | Local storage linked to networked storage system | |
CN114008994B (zh) | 一种代理服务器接收从客户端到网络服务器的请求和与所述请求相对应的从所述网络服务器到所述客户端的响应的方法及*** | |
CN107015996A (zh) | 一种资源访问方法、装置及*** | |
CN109791536A (zh) | 可配置逻辑平台 | |
CN105940409A (zh) | 网络服务沙箱*** | |
CN104283875A (zh) | 云盘权限管理方法 | |
WO2020024896A1 (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
AU2014208184A1 (en) | Systems and methodologies for managing document access permissions | |
CN102664874B (zh) | 一种安全登陆的方法和*** | |
CN111782300A (zh) | 一种数据处理方法、装置、设备及*** | |
CN109614766A (zh) | 一种通过文件获取对网页进行区块链存证的方法及装置 | |
KR20180038482A (ko) | 스마트 카드 판독/기입 방법 및 디바이스 | |
CN115374481B (zh) | 数据脱敏处理的方法、装置、存储介质及电子设备 | |
CN108805590A (zh) | 一种基于区块链的农产品追溯*** | |
CN102646055A (zh) | 一种***间数据交互的方法 | |
CN104683297A (zh) | 一种资源访问的方法及装置、服务器及终端 | |
CN109271564A (zh) | 保单查询方法及设备 | |
CN104657359A (zh) | 一种通过网址记录网页内容和式样的方法 | |
CN112650954A (zh) | 区块链数据分享方法、装置、设备及存储介质 | |
Kirkman et al. | Using smart contracts and blockchains to support consumer trust across distributed clouds | |
WO2020024902A1 (zh) | 用于搜索区块链数据的方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |