前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第二十一课 如何通过Solidity的智能合约函数把长文章记录到以太坊区块链上?

第二十一课 如何通过Solidity的智能合约函数把长文章记录到以太坊区块链上?

作者头像
辉哥
发布2018-09-26 11:08:20
6970
发布2018-09-26 11:08:20
举报
文章被收录于专栏:区块链入门区块链入门

1,Solidity智能合约函数

辉哥的文章《第十六课 不用编程,如何把长文章记录到以太坊区块链上?》 是通过MetaMask的交易形式把数据写到链上。

本文提供另外一个方式,通过智能合约函数的方式把数据写到智能合约的变量区,其数据存储在storage区域,可通过函数查找出来。

合约代码:

代码语言:javascript
复制
pragma solidity ^0.4.24;
 
contract LongRecord{
    mapping (uint => string) pic;
    uint x=0;
    address owner;
    function LongRecord(){
        owner = msg.sender;
    }
    function record(string s) public{
        require(msg.sender == owner);
        pic[x]=s;
        x++;
    }
    function getRecord(uint i) constant public returns (string){
        require(msg.sender == owner);
        return pic[i];
    }
}

2,测试

编译成功后,切换到测试环境。

2.1 部署智能合约

为了省钱,MetaMask切换到"Repston Test Network"下:

2.2 写入长文本

假设长文本内容为

代码语言:javascript
复制
辉哥简书专栏个人IP的募集计划书:
1) 时间:2018年9月1日 - 2019年8月30日
2) 募集目标:100万彩贝通证(CLB)
3) 募集方案:
1>  投资人认同辉哥的简书专栏所产生的IP知识价值,愿意以捐献彩贝通证(CLB)的方式给辉哥提供创作动力。
2>  辉哥承诺以期间产生的简书专栏所得的50%收入按募集比例回馈给捐献者。
3>  募集信息以以太坊智能合约形式写入链上,不可篡改。

在record函数区"文本内容"填入,点击确认后会写入以太坊区块链成功。

写入成功的地址为

https://ropsten.etherscan.io/tx/0x578cda5fccfe8465000d5ce6d966ea940b9cbd5426373a4804b238abf573d296

其第三行开始为函数输入区的UTF-8编码内容。

2.3 读取

输入0,点击getRecord函数,可以获得对应的文本数据内容,见下图的2.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.08.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1,Solidity智能合约函数
  • 2,测试
    • 2.1 部署智能合约
      • 2.2 写入长文本
        • 2.3 读取
        相关产品与服务
        数据保险箱
        数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档