如何使用区块链记仇

本文介绍了如何利用区块链的不可篡改特性来记录信息,以FISCO BCOS为底层平台,通过配置WeBASE中间件,搭建区块链环境,并编写智能合约。合约示例展示了如何将特定内容(例如骂街)写入回执,确保信息的安全存储。尽管存在单点故障风险,但可通过多机部署来增强系统的健壮性。
摘要由CSDN通过智能技术生成

众所周知,区块链具有不可篡改的特性,因此十分适合用于记仇。
我们首先需要一个配置好的区块链平台,这里我选用了FISCO BCOS2.7.2作为底层区块链平台。
安装配置参考https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/introduction.html
并安装WeBASE中间件方便合约开发
安装配置参考https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/webase/webase.html
然后启动区块链
在这里插入图片描述

此时便可以在主机通过[虚拟机ip]:5000来访问WeBASE区块链管理平台前端界面
在这里插入图片描述

为了能让校园内更多同学访问,我们将配置好虚拟机的端口映射xxxx:5000
在这里插入图片描述
同时关闭ubuntu和主机的防火墙
这样在同一局域网内可以通过[主机ip]:[映射主机端口]来访问了
然后我们编写一个简单的智能合约,为了更清楚地记仇,我们把骂街的话写到回执中,具体代码如下

pragma solidity ^0.4.24;
pragma experimental ABIEncoderV2;
import "./Table.sol";

contract JiChou{
    
    TableFactory tf;
    
    string constant TABLE_NAME3 = "t_test2";
    
    constructor() public{
        tf = TableFactory(0x1001);
        tf.createTable(TABLE_NAME3,"id","text");
    }
        
    event InsertResponse2(
        bool status,//插入状态
        string addr,
        string str
        );

    function insert2(string memory id,string memory text) public returns(int){
        Table table = tf.openTable(TABLE_NAME3);
        Entry entry = table.newEntry();
        entry.set("text",text);
        int count = table.insert(id,entry);
        if(count == 1){
            emit InsertResponse2(true,id,text);
        }else{
            emit InsertResponse2(false,id,text);
        }
        return count;
    }
}

然后编译-部署-发送交易-指名道姓开始骂街
在这里插入图片描述
最后大伙就可以看到新打包的交易回执内容如下
在这里插入图片描述

小明除非把你主机砸了否则永远无法摆脱你是他爹的事实。

但是这种单点故障也可以避免,参考FISCO官方文档多机部署、企业部署,这里就不做演示了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值