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

更新时间:2023-05-03 19:30:24 阅读: 评论:0

在百度超级链Xuper上部署智能合约并实现存证功能现实⽣活中的使⽤场景
⼏个摄影师朋友找到你,
他们的摄影作品上传到⾃⼰的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
这样就安装好了,这⾥涉及到⼀个问题,
就是通过brew下载安装包速度的问题,
之前的⽂章也介绍过,这⾥再重复下,
以免朋友们在下载安装包这块浪费太多时间,
⽅法就是更换Homebrew源
a、替换brew.git
cd "$(brew --repo)"
git remote t-url orig狐狸图片简笔画 in /homebrew/brew.git
b、替换homebrew-core.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote t-url origin /homebrew/homebrew-core.git
c、echo $SHELL 看输出结果是/bin/zsh还是/bin/bash
c-1、 /bin/zsh替换homebrew-bottles**
echo 'export HOMEBREW_BOTTLE_DOMAIN=/homebrew/homebrew-bottles' >> ~/.zshrc s乳腺增生的危害 ource ~/.zshrc
c-2、/bin/bash替换homebrew-bottles
echo 'export HOMEBREW_BOTTLE_DOMAIN=mirrors./homebrew-bottles' >> ~/.bash_profile source ~/.bash_profile
到此已经好了go语⾔环境 既然编译环境准备好了 下⾯咱们开始编译下xuperchain源码 let‘s go
下载源码
git clone /pingfanrenbiji销售文员 /xuperchain.git
下载的是master分⽀当前版本 v3.7
编译
进⼊源码⽬录
cd xuperchain
make
编译好之后就会在output⽂件夹下⾯出现编译之后的⽂件
这⾥需要注意下⼀定要安装master分⽀
不要安装⽼的分⽀⽐如v3.1分⽀
v3.1分⽀是pow共识
我⼀开始就⽤的这个版本的代码节点是可以部署
但使⽤命令或通过sdk调⽤和链交互就会有出现问题
所以⼀定要⽤master分⽀哦
多节点配置
创建节点⽬录
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/con弱的词语 fig/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_connsus": 长款皮衣 {
"name": "tdpos",
"config": {
"timestamp": "1559021720000000000",
"propor_num": "手机牌子 1",
"period": "3000",
"alternate_interval": "3000",
"term_interval": "6000",
"block_num": "20",
"vote_unit_price": "1",
"init_propor": {
"1": [
"dpzuVdosQrF2kmzumhVeFQZa惠东美食 1aYcdgFpN"
]
},
"init_propor_neturl": {
"1": [
"/ip4/127.0.0.1/tcp/47101/p2p/QmVxeNubpg1ZQjQT8W5yZC9fD7ZB1ViArwvyGUB53sqf8e"                ]
}
}
}
}
复制该⽂件替换pn2/data/config/ 和 pn3/data/config/ 下的 xuper.json
cp pn1/data/config/xuper.json pn2/data/config/xuper.json
cp pn1/data/config/xuper.json pn3/data/config/xuper.json
依次 cd pn2 和 cd pn3 执⾏下⾯两条指令
./xchain-cli account newkeys -f
./xchain-cli netURL gen
此时在pn2和pn3 /data ⽬录下⽣成新的 keys 和 netkeys ⽂件夹通过 more data/keys/address 分别得到pn2和pn3的address 查看p1的地址
cd pn1
./xchain-cli netURL get
"/ip4/127.0.0.1/tcp/47101/p2p/QmVxeNubpg1ZQjQT8W5yZC9fD7ZB1ViArwvyGUB53sqf8e"
得到pn1.url 复制放⼊pn2和pn3 data/conf/xchain.yaml⽂件中的bootNodes
配置pn2和pn3节点(端⼝号+1)
端⼝配置port metricPort p2pv2 - bt3 port
节点1371013720047101
节点237102372014710神奇宝贝怎么画 2
节点3371033720247103
vim pn2/conf/xchain.yaml

本文发布于:2023-05-03 19:30:24,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/854497.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:节点   环境   编译   智能   问题   合约   存证   维权
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图