CITA-2(开发环境)

本文档详细介绍了CITA-2的开发环境配置,包括安装node、npm、yarn,部署CITA链,创建及管理账户、合约,设置权限,以及使用JSON-RPC进行交互。还涵盖了CITA链的节点部署,Solidity合约编写、部署,存证功能的实现,以及Microscope的安装和使用,用于监控和查询CITA链上的数据。
摘要由CSDN通过智能技术生成

第一:CITA-2(开发环境)

1.安装 node,npm,yarn -v10.x
删除旧的node
sudo apt-get remove -y nodejs
sudo apt autoremove yarn
sudo add-apt-repository -y -r ppa:chris-lea/node.js
sudo rm -f /etc/apt/sources.list.d/chris-lea-node_js-*.list
sudo rm -f /etc/apt/sources.list.d/chris-lea-node_js-*.list.save

https://github.com/nodesource/distributions

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install gcc g++ make
sudo apt-get install -y nodejs

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn


node --version
npm --version
nvm --version
yarn --version
2.安装cita-ide
git clone https://github.com/ethereum/remix-ide.git
git clone https://github.com/ethereum/remix.git # 只有当您计划链接remix和remix-ide存储库并在其上进行开发时才会这样做。
cd remix-ide
npm install
npm run setupremix  # 只有当您计划链接remix和remix-ide存储库并在其上进行开发时才会这样做。
npm run build
npm start
3.first-forever-demo
npm urn deploy
npm start

第一:CITA链部署

  • 说明
  • 1、用户与组的设计
    • 生成超管员帐号
    • 生成管理员帐号
    • 生成普通用户帐号
    • 创建管理员组
    • 授权管理员组权限(发交易、创建合约)
    • 把管理员帐号加入管理员组
    • 用管理员帐号创建一个合约a
    • 创建一个合约a的合约权限
    • 创建有合约a权限的组
    • 把普通用户帐号加入到合约a权限的组
    • 普通用户帐号可以调用合约a
      在这里插入图片描述
  • 2、存证业务
    • 发送交易
    • 发送元数据
      • 加密元数据
      • 返回交易TxHash
      • 查询数据
      • 提交TxHash
      • 返回密文数据
      • 解密(有需要时)
  • 节点部署说明

1、部署节点:cita_secp256k1_sha3
2、编写合约:Solidity
3、部署合约:系统合约接口
4、编写客户端:JSON-RPC交互

1.部署节点:cita_secp256k1_sha3

1、下载cita-cli 客户端
2、下载cita开源链
3、安装docker

step-1:CITA 客户端工具
//创建目录
$ mkdir -p /data/cita
//切换目录
$ cd /data/cita/
//下载 CITA-CLI 安装包
$ wget https://github.com/citahub/cita-cli/releases/download/20.2.2/cita-cli-x86_64-musl-tls-20.2.2.tar.gz
//解压程序
$ tar zxvf cita-cli-x86_64-musl-tls-20.2.2.tar.gz
//复制 CITA-CLI 到 系统可执行文件目录下
$ sudo cp -rp cita-cli /usr/local/bin/
step-2:下载 CITA
//切换目录
$ cd /data/cita/
//下载 CITA 安装包
$ wget https://github.com/citahub/cita/releases/download/v20.2.0/cita_secp256k1_sha3.tar.gz
//解压 CITA 程序
$ tar zxvf cita_secp256k1_sha3.tar.gz
step-2:安装docker-ce版本(centos)
  • 官网文档:https://yeasy.gitbook.io/docker_practice/
  • 删除旧版本
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
  • 执行下面的命令添加 yum 软件源:
# 安装 yum-utils工具
sudo yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2

# 配置docker-ce安装源地址
$ sudo yum-config-manager \
    --add-repo \
    https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 修改docker-ce 中国源地址
$ sudo sed -i 's/download.docker.com/mirrors.ustc.edu.cn\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

# 官方源
# $ sudo yum-config-manager \
#     --add-repo \
#     https://download.docker.com/linux/centos/docker-ce.repo
  • 更新 yum 软件源缓存,并安装 docker-ce
$ sudo yum makecache fast
$ sudo yum install docker-ce
  • 启动 Docker CE
$ sudo systemctl enable docker
$ sudo systemctl start docker
  • 建立 docker 用户组

默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。

//建立 docker 组:
$ sudo groupadd docker
//将当前用户加入 docker 组:
$ sudo usermod -aG docker $USER
//退出当前终端并重新登录,进行如下测试
$ docker run hello-world
  • 配置 docker-hub 源改为 华为源镜像
#创建目录
$ mkdir -p /etc/docker
#配置 源地址
$ tee /etc/docker/daemon.json <<- 'EOF'
{
   
   "registry-mirrors": ["https://06863c85c3f14595a8557e7f2d8b1587.mirror.swr.myhuaweicloud.com"]
}
EOF

# 使配置生效
$ systemctl daemon-reload
# 重启docker-ce
$ systemctl restart docker
*step-3:生成两个帐户
  • 生成一个帐户、把这个帐户做为超级管理员:super_admin
$ cita-cli key create
//返回一组address、private、public 这个地用来做 超管员
{
   
 "address": "0xda062b9f2005eb52c8d4434d4a54bb7caed9ab28",
 "private": "0xf5281a9d5c92ec040ae92551b93b0eb33f0dc71295f17f1bbb27b60bb714290c",
 "public": "0xce2f66b5131edf259bc11d067fbba72c73835bc330d983b81e5b0fc077814403ec7d2f02c3169d90cdfeff931c89dd6563439d622c5c33c53dd0164592c983ec"
}
#再执行 cita-cli key create 再生成一个帐户用来做普通管理员
---- admin 管理员
{
   
 "address": "0x1bab9f9d55a781ed02424522fd001f0dd261058c",
 "private": "0x5e7241097bfd5909a88f7629dde1e3b96c8776efdccf101140309f1a07a555d7",
 "public": "0x3662c57af8ff9a7d1e8239fb05363ed6ce2cfa3e579103b3716339865fca19f09ef695482d2c8d9991930fe35a399b4567c8c33729193fea43c139158fbc6558"
}
--- 普通用户:
{
   
 "address": "0xa70fa03be43146e0e5a428b38040ab388d888faa",
 "private": "0x4356a704ee765a416b4294d04798089927df64389b2dcc800e2ca3ec7c39b55c",
 "public": "0x87ba823c64d0e817643e96e5db350f22830e210d2580d40d48b6ccc574060980b8398ecb8aceb225b34becba9c95702b61a97f16592795115b7f15c37178afb7"
}

*step-4:创建新链的节点

链的名称: meelinked-01
超级管理员: “0xda062b9f2005eb52c8d4434d4a54bb7caed9ab28”
两个节点:127.0.0.1:4000 , 127.0.0.1:4001
开启合约调用的权限检查:SysConfig.checkCallPermission=true
开启发送交易的权限检查:SysConfig.checkSendTxPermission=true
开启创建合约的权限检查:SysConfig.checkCreateContractPermission=true

//切换目录
$ cd /data/cita/cita_secp256k1_sha3
//生成链
$ bin/cita create \
        --super_admin "0xda062b9f2005eb52c8d4434d4a54bb7caed9ab28" \
        --nodes "127.0.0.1:4000,127.0.0.1:4001" \
        --contract_arguments "SysConfig.checkCallPermission=true" \
        --contract_arguments "SysConfig.checkSendTxPermission=true" \
        --contract_arguments "SysConfig.checkCreateContractPermission=true" \
        --chain_name "meelinked-01"

链生成生会在/data/cita/cita_secp256k1_sha3目录下创建一个meelinked-01文件夹,这个就是meelinked-01节点服务器

step-5:启动节点
# 节点 0
$ cd /data/cita/cita_secp256k1_sha3
$ bin/cita setup test-chain/0 //初始化节点0
$ bin/cita start test-chain/0 //启动节点0
#节点1
$ bin/cita setup test-chain/1 //初始化节点1
$ bin/cita start test-chain/1 //启动节点1

//查看节点启动情况
$ bin/cita top
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值