在百度超级链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"
                ]
            }
        }
    }
}



相关文章
|
6月前
|
存储 Kubernetes 容器
百度搜索:蓝易云【Kubernetes使用helm部署NFS Provisioner】
现在,你已经成功使用Helm部署了NFS Provisioner,并且可以在Kubernetes中创建使用NFS存储的PersistentVolumeClaim。
207 10
|
6月前
|
Kubernetes 应用服务中间件 nginx
百度搜索:蓝易云【使用Kubernetes部署Nginx应用教程】
现在,你已经成功在Kubernetes集群上部署了Nginx应用。通过访问Service的外部IP地址,你可以访问Nginx服务。
85 4
|
3月前
|
机器学习/深度学习 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
92 1
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
|
3月前
|
JSON 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - Docker)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - Docker)
187 0
|
3月前
|
文字识别 监控 机器人
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 预测部署简介与总览
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 预测部署简介与总览
91 0
|
3月前
|
文字识别 数据可视化 Python
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 Paddle Inference 模型推理(离线部署)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 Paddle Inference 模型推理(离线部署)
234 0
|
5月前
|
数据采集 JavaScript 前端开发
详尽分享网站网页中加入各种分享按钮功能百度分享
详尽分享网站网页中加入各种分享按钮功能百度分享
123 0
|
5月前
ueditor1.5 百度富文本 编辑器增加字间距功能及按钮
ueditor1.5 百度富文本 编辑器增加字间距功能及按钮
77 0
|
6月前
|
Java Docker 容器
百度搜索:蓝易云【Docker使用之java项目工程的部署】
通过以上步骤,你已经成功在Docker中部署了Java项目工程。这样可以确保你的应用在不同环境中具有一致的运行结果,并且方便地进行部署和管理。
63 7
|
6月前
|
人工智能 编解码 数据安全/隐私保护
才发现百度自带的AI图片助手这么好用,去水印、画质优化、AI扩图、涂抹消除等功能一应俱全!
才发现百度自带的AI图片助手这么好用,去水印、画质优化、AI扩图、涂抹消除等功能一应俱全!
995 0
下一篇
无影云桌面