在百度超级链Xuper上部署智能合约并实现存证功能(1)

简介: 在百度超级链Xuper上部署智能合约并实现存证功能(1)

现实生活中的使用场景



几个摄影师朋友找到你,他们的摄影作品上传到自己的blog后总是被其他人盗用,使用水印之类的方法也无法避免像截取部分这种情况,他们需要一个能证明摄影作品最早是由自己上传、而且具有法律效力可供自己进行维权的工具
显然区块链对于解决此问题有很大的帮助,它的不可篡改等特性很适合存证维权的场景,我们可以通过XuperChain来构建一个存取证据的智能合约
下面就来帮助摄影师朋友开发一个能够存储照片版权、还能在发现被盗用后进行维权的智能合约


搭建xuper节点环境(多节点)


环境准备


  • go 1.12以上
  • git
  • g++4.8.2以上


git和g++之前已经安装好了,现在安装下go环境(接下来的a、b、c介绍的是通过mac安装go语言环境 如果非mac的小伙伴 可以跳过了)


通过brew安装go


brew install go


image.png


这样就安装好了,这里涉及到一个问题,
就是通过brew下载安装包速度的问题,
之前的文章也介绍过,这里再重复下,
以免朋友们在下载安装包这块浪费太多时间,
方法就是更换Homebrew源


a、替换brew.git


cd "$(brew --repo)"git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git


b、替换homebrew-core.git


cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git


c、echo $SHELL 看输出结果是/bin/zsh还是/bin/bash


c-1、 /bin/zsh替换homebrew-bottles**



echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrcsource ~/.zshrc


c-2、/bin/bash替换homebrew-bottles


echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profilesource ~/.bash_profile


到此已经好了go语言环境 既然编译环境准备好了 下面咱们开始编译下xuperchain源码

let‘s go


下载源码


git clone https://gitee.com/pingfanrenbiji/xuperchain.git下载的是master分支 当前版本 v3.7


编译



进入源码目录
cd xuperchain
make
编译好之后 就会在output文件夹下面出现编译之后的文件
这里需要注意下 一定要安装master分支 不要安装老的分支 比如v3.1分支v3.1分支是pow共识 我一开始就用的这个版本的代码 节点是可以部署 但使用命令或通过sdk调用和链交互就会有出现问题 所以一定要用master分支哦


image.png


多节点配置


创建节点目录


mkdir pn1
mkdir pn2
mkdir pn3
将编译之后的所有文件copy到相应的节点目录
cp -r output/* pn1
cp -r output/* pn2
cp -r output/* pn3


节点1配置


  • 查看节点1地址


cat pn1/data/keys/address dpzuVdosQrF2kmzumhVeFQZa1aYcdgFpN
dpzuVdosQrF2kmzumhVeFQZa1aYcdgFpN


  • 将该地址配置到 pn1/data/config/xuper.json 里的address


cat pn1/data/config/xuper.json
{
    "version": "1",
    "predistribution": [
        {
            "address": "dpzuVdosQrF2kmzumhVeFQZa1aYcdgFpN",
            "quota": "100000000000000000000"
        }
    ],
    "maxblocksize": "128",
    "award": "1000000",
    "decimals": "8",
    "award_decay": {
        "height_gap": 31536000,
        "ratio": 1
    },
    "gas_price": {
        "cpu_rate": 1000,
        "mem_rate": 1000000,
        "disk_rate": 1,
        "xfee_rate": 1
    },
    "new_account_resource_amount": 1000,
    "genesis_consensus": {
        "name": "tdpos",
        "config": {
            "timestamp": "1559021720000000000",
            "proposer_num": "1",
            "period": "3000",
            "alternate_interval": "3000",
            "term_interval": "6000",
            "block_num": "20",
            "vote_unit_price": "1",
            "init_proposer": {
                "1": [
                    "dpzuVdosQrF2kmzumhVeFQZa1aYcdgFpN"
                ]
            },
            "init_proposer_neturl": {
                "1": [
                    "/ip4/127.0.0.1/tcp/47101/p2p/QmVxeNubpg1ZQjQT8W5yZC9fD7ZB1ViArwvyGUB53sqf8e"
                ]
            }
        }
    }
}



相关文章
|
Java Go 区块链
在百度超级链Xuper上部署智能合约并实现存证功能(3)
在百度超级链Xuper上部署智能合约并实现存证功能(3)
529 0
在百度超级链Xuper上部署智能合约并实现存证功能(3)
|
区块链
在百度超级链Xuper上部署智能合约并实现存证功能(2)
在百度超级链Xuper上部署智能合约并实现存证功能(2)
304 0
在百度超级链Xuper上部署智能合约并实现存证功能(2)
|
10月前
|
安全 区块链
BRC20铭文智能合约跨链系统开发详情版/需求设计/案例逻辑/指南教程/源码部署
In the development process of the BRC20 Inscription Smart Contract Cross Chain System, t
|
10月前
|
存储 安全 分布式数据库
BRC20铭文跨链智能合约系统开发案例详细/需求说明/指南步骤/方案逻辑/源码平台
BRC20铭文跨链系统是一种基于区块链的跨链转账系统。下面是BRC20铭文跨链系统开发方案设计的详细解释:
|
区块链
DAPP马蹄链智能合约系统开发功能详情丨DAPP马蹄链智能合约开发源码部署
 DAPP是DecentralizeDAPPlication的缩写,中文叫分布式应用/去中心化应用)。通常来说,不同的DAPP会采用不同的底层区快开发平台和共识机制,或者自行发布代币(也可以使用基于相同区快平台的通用代币)。
|
存储 供应链 前端开发
智能合约Dapp系统链上开发部署源码规则解析
智能合约Dapp系统链上开发部署源码规则解析
|
存储 区块链 编译器
DAPP链上代币发行合约去中心化项目系统开发实现技术案例及源码详情
 区块头和区块体数据也会被当作输入数据做一次Hash运算,其运算结果会被存储在下一个区块的区块头中,这样任何区块内容的修改都会反映到区块的Hash值上,而区块的Hash值又是下一个区块的输入数据,它又会被当作新区块的数据参与一次新区块的Hash运算,随着时间的推移和交易量的增加,所有的区块会通过保存前一个区块的Hash运算结果的方式组成一条链。
|
存储 安全 区块链
波场链合约交易所系统模型合约开发解决方案
address private _owner; mapping (address => bool) private _pausedUsers; event Log交易撮合(uint256 amount, address user, address trader); event Log资产变动(address from, address to, uint256 amount);
|
存储 算法 大数据
马蹄链智能合约DAPP系统开发详情介绍
区块链中的每个区块(什么是区块)都使用默克尔树来代表区块中所有交易的摘要。又称二叉哈希树(binary hash tree),merkle tree。
马蹄链智能合约DAPP系统开发详情介绍
|
存储 人工智能 安全
区块链DAPP代币合约项目系统开发技术案例及详情/源码功能
  区块链、人工智能、数字孪生、人机交互、物联网等面向数据的新一代信息技术的演进并非偶然,而是从Web2.0向Web3.0演进的技术准备。从技术上来看,元宇宙是基于Web3.0技术体系和运作机制支撑下的可信数字化价值交互网络,是以区块链为核心的Web3.0数字新生态。