NEO - Centos7下 部署 NEO Python 环境

目录

NEO

使用准备

LevelDB 安装

Mac OS X

Linux - Debian

Linux - Centos7

更新cmake 3.10

环境配置

1-1 创建私链

1.2 运行 NEO Python


NEO

NEO Python - 官方文档

NEO 是一个社区化开源区块链项目,利用区块链技术和数字身份进行资产数字化,利用智能合约对数字资产进行自动化管理,实现“智能经济”的一种分布式网络。

NEO是一个非盈利的社区化的区块链项目,是利用区块链技术和数字身份进行资产数字化,利用智能合约对数字资产进行自动化管理,实现“智能经济”的一种分布式网络。

NEO 中内置两种原生代币,NEO(缩写符号 NEO)和 NeoGas(缩写符号 GAS)。NEO 是管理代币,总量 1 亿份,用于实现对 NEO 网络的管理权。管理权包括投票进行记账人选举,NEO 网络参数更改等。NEO 的最小单位为 1,不可再分割。GAS 是燃料代币,最大总量上限为 1 亿,用于实现对 NEO 网络使用时的资源控制。NEO 网络对代币转账和智能合约的运行和存储进行收费,从而实现对记账人的经济激励和防止资源滥用。GAS 的最小单位为 0.00000001。

使用准备

  1. Linux / macOS
  2. Docke
  3. LevelDB - 适用于写多读少的KV数据库
  4. Python3.6 (or higher)

LevelDB 安装

ldb 官方git

Mac OS X

$ brew install snappy cmake
$ git clone https://github.com/heapwolf/ldb.git
$ make install -C ldb

Linux - Debian

$ sudo apt-get install libsnappy-dev cmake
$ git clone https://github.com/heapwolf/ldb.git
$ cd ldb
$ make && sudo make install

Linux - Centos7

$ sudo yum install leveldb-devel

centos7下使用官方github安装方式报错,未解决

make失败,由于cmake的版本过低

更新cmake后重新安装失败,未安装snappy

更新cmake 3.10

下载cmake源代码包,可以去官网查看最新版的下载地址

https://cmake.org/download/

下载
wget https://cmake.org/files/v3.10/cmake-3.10.0-rc3.tar.gz
​
解压
tar xvf cmake-3.10.0-rc3.tar.gz && cd cmake-3.10.0-rc3/
./bootstrap
​
编译安装
make && sudo make install
​
新版本查看
 /opt/cmake-3.10.0-rc3/bin/cmake --version
​
若曾下载,删除原版本,建立软连接
yum remove cmake -y
ln -s /opt/cmake-3.10.0-rc3/bin/cmake /usr/bin/
cmake --version

环境配置

docker 学习总结

1-1 创建私链

安装 Docker 容器(Container),从 Docker Hub 下载最新的镜像:

sudo docker pull cityofzion/neo-privatenet

下载可能花费较长时间,建议科学上网。成功下载后得到了一个区块高度为0,且有足够NEO和Gas的私链,可用于后续测试及开发。接下来打开容器:

sudo docker run --rm -d --name neo-privatenet -p 20333-20336:20333-20336/tcp -p 30333-30336:30333-30336/tcp cityofzion/neo-privatenet
    
    run参数解析
    --rm
    -d 后台运行容器,并返回容器ID;
    --name 为容器指定一个名称
    -p 端口映射,格式为:主机(宿主)端口:容器端口
    
docker ps -a 查看正在运行的镜像

在容器neo-privatenet中开启一个交互模式的终端 bash:

sudo docker exec -it neo-privatenet /bin/bash
​
exec命令解析
docker exec :在运行的容器中执行命令
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端

关闭容器,若在容器内部,使用exit退出:

sudo docker rm -f neo-privatenet
​
rm命令解析
docker rm :删除一个或多少容器
-f :通过SIGKILL信号强制删除一个运行中的容器
-l :移除容器间的网络连接,而非容器本身
-v :-v 删除与容器关联的卷
​
docker ps -a 查看正在运行的镜像

1.2 运行 NEO Python

如果还没有安装git,可以点击此处

再从这里下载NEO Python

wget https://github.com/CityOfZion/neo-python/archive/v0.7.1.tar.gz

解压后进入 neo-python-0.7.1 文件夹。

tar xvf v0.7.1.tar.gz && cd neo-python-0.7.1/

创建虚拟环境,使安装过程保持独立:

python3 -m venv venv
source venv/bin/activate

安装 NEO Python:

pip install -r requirements.txt
pip install -e .

运行 NEO Python:

np-prompt

$ np-prompt -h
usage: np-prompt [-h] [-m | -p [host] | --coznet | -c CONFIG]
                 [-t {dark,light}] [-v] [--datadir DATADIR] [--version]

optional arguments:
  -h, --help            show this help message and exit
  -m, --mainnet         Use MainNet instead of the default TestNet
  -p [host], --privnet [host]
                        Use a private net instead of the default TestNet,
                        optionally using a custom host (default: 127.0.0.1)
  --coznet              Use the CoZ network instead of the default TestNet
  -c CONFIG, --config CONFIG
                        Use a specific config file
  -t {dark,light}, --set-default-theme {dark,light}
                        Set the default theme to be loaded from the config
                        file. Default: 'dark'
  -v, --verbose         Show smart-contract events by default
  --datadir DATADIR     Absolute path to use for database directories
  --version             show program's version number and exit

关闭 NEO Python:

exit

若希望再次打开,在打开 Docker 容器,进入文件夹后:

source venv/bin/activate
np-prompt -p

猜你喜欢

转载自blog.csdn.net/qq_33961117/article/details/88538309
今日推荐