以太坊实现简单的数据链上存储

这篇具有很好参考价值的文章主要介绍了以太坊实现简单的数据链上存储。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

工具:Truffle;Ganache;MetaMask

环境:Windows10

新建一个文件夹,命名为存储,在文件夹下执行如下命令:(相当于是下载一个webpack模板)

truffle unbox webpack

接着你会看到以下内容已经下载好了:

以太坊实现简单的数据链上存储

与单纯的执行Truffle初始化操作不同,在这里多了个APP文件夹,里面主要是前端代码(src中):

以太坊实现简单的数据链上存储


可以先看一下什么都不改的情况下这个模板是什么样子的:

然后发现报错了哈哈哈哈哈啊哈哈:(稍微改一下truffle-config中的内容)

以太坊实现简单的数据链上存储

 连接Ganache与Meta Mask,在migrate之后在进入App文件夹,执行:

npm run dev

以太坊实现简单的数据链上存储

接着打开浏览器,进入 http://localhost:8080/然后就会看到:

以太坊实现简单的数据链上存储

自带的合约就是铸币合约,就不演示了。


接下来尝试进行实现链上存储功能。 

首先在contracts文件夹下新建合约文件storage_.sol

内容如下:文章来源地址https://www.toymoban.com/news/detail-435683.html

pragma solidity >=0.4.21 <=0.9.0;

contract storage_ {
//数据结构
    struct Item {
        string what;//数据
        address who;//存数据的人(账户地址)
        uint when ;//时间
    }
//记录所有的数据
    Item[] private allWords;
//将数据存储在区块链上
    function save(string memory s, uint t) public {
        //每增加一条,就push到结构体中
        allWords.push(Item({
            what: s,
            who: msg.sender,
            when: t
        }));
    }
//查询当前数据的总条数
    function getSize() public view returns (uint){
        return allWords.length;
    }
//根据编号查询数据的具体内容
//random为编号
    function getRandom(uint random) public view returns (string memory, address, uint) {
        if(allWords.length==0){
            return ("", msg.sender, 0);
        }else{
            Item storage result = allWords[random];
     

到了这里,关于以太坊实现简单的数据链上存储的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 以太坊 – 使用truffle console访问智能合约

    🍁 博主简介 :         🏅云计算领域优质创作者         🏅2022年CSDN新星计划python赛道第一名         🏅2022年CSDN原力计划优质作者         🏅阿里云ACE认证高级工程师         🏅阿里云开发者社区专家博主 💊 交流社区 :CSDN云计算交流社区欢迎您的

    2024年02月02日
    浏览(48)
  • 【web3实践 | 以太坊开发框架Truffle使用】

    Truffle是一个面向以太坊的开发框架,提供一整套构建、测试、部署以及管理智能合约的开发工具。Truffle可以与以太坊节点交互,使开发人员能够在本地开发、测试和部署智能合约。 Truffle提供了一个基于命令行的、易于使用的开发环境,可以通过Truffle来编写智能合约,进行

    2024年02月07日
    浏览(56)
  • 【区块链技术开发】 Solidity使用Truffle Box工具实现预构建模板、自动化部署、创建智能合约示例代码

    专栏:区块链技术开发 Truffle Box是一个开发工具,为Truffle生态系统中的开发人员提供了预构建

    2023年04月16日
    浏览(70)
  • flutter使用shared_preferences依赖库实现简单的本地数据存储,封装成一个简单的单例类,方便前端同学使用

    shared_preferences 仓库地址:shared_preferences | Flutter Package shared_preferences这个依赖库还是非常好用的,全平台支持,就像前端经常使用的localstorage一样方便,所以就想着封装成一个简单的类,方便前端同学使用。封装好的代码支持json或者数组等这种类型的存储和获取。 在utils里面

    2024年01月20日
    浏览(51)
  • 通过ganache与以太坊Dapp实现交互 —— 简单的例子

    准备条件: 环境:Centos7或者其他版本的linux 必备: 安装npm (推荐16.1.0版本) 以及ganache-cli 在dapp目录下的ganache目录启动ganache-cli 会输出下面的结果: 创建一个备用目录testdapp 安装express 创建工程 先要进行一些安装 在MyDapp文件下会出现以下目录 启动我们的工程 登录游览器ht

    2024年02月06日
    浏览(33)
  • 以太坊数据查询与分析工具:以太坊浏览器Etherscan、ETHERQL

    etherscan是一个在以太坊以及去中心化智能合约上的区块浏览器和分析平台。在其中我们可以很方便的查找、认证和检验以太坊区块链上发生的所有交易,包括智能合约的创建、调用、代币交易等。旨在辅助以增强区块链的透明性。 交易查询:在BLOCKCHAIN一栏。 区块查询: 账户

    2024年01月16日
    浏览(56)
  • Java实现AES加密工具类 - 简单易用的数据加密解决方案

    当我们涉及到敏感数据的存储和传输时,数据加密是非常重要的。加密可以确保数据的保密性和完整性,并帮助我们防止数据泄露和攻击。在Java中,使用标准的加密算法和库可以很容易地实现数据加密和解密。本篇文章将介绍一个简单的Java工具类,该工具类使用AES对称加密

    2024年02月11日
    浏览(46)
  • 以太坊实现、语言模型应用与实用工具 | 开源日报 0817

    Go Ethereum 是以太坊协议的官方 Golang 执行层实现,可运行各种节点并提供网关访问以太坊网络;LangChain-Chatchat 是基于大语言模型的本地知识库问答应用实现,支持离线运行和多种模型接入;Shiori 是简单易用的书签管理器,支持命令行和 Web 应用程序,且可移植性强;Awesome G

    2024年02月09日
    浏览(39)
  • OSS对象存储的简单实现

    前提准备好阿里云对象存储的账号-创建一个bucket(设置好访问权限)-创建用于上传文件的子账号得到accessKey和secretKey以及endpoint-sdk例子java简单上传的例子测试 引入alicloud-oss对象纯存储相关的依赖 在application.yml中配置accessKey和secretKey即可 使用OssClient对象调用方法上传即可 一,

    2024年02月05日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包