目录
NEO
NEO 是一个社区化开源区块链项目,利用区块链技术和数字身份进行资产数字化,利用智能合约对数字资产进行自动化管理,实现“智能经济”的一种分布式网络。
NEO是一个非盈利的社区化的区块链项目,是利用区块链技术和数字身份进行资产数字化,利用智能合约对数字资产进行自动化管理,实现“智能经济”的一种分布式网络。
NEO 中内置两种原生代币,NEO(缩写符号 NEO)和 NeoGas(缩写符号 GAS)。NEO 是管理代币,总量 1 亿份,用于实现对 NEO 网络的管理权。管理权包括投票进行记账人选举,NEO 网络参数更改等。NEO 的最小单位为 1,不可再分割。GAS 是燃料代币,最大总量上限为 1 亿,用于实现对 NEO 网络使用时的资源控制。NEO 网络对代币转账和智能合约的运行和存储进行收费,从而实现对记账人的经济激励和防止资源滥用。GAS 的最小单位为 0.00000001。
使用准备
- Linux / macOS
- Docke
- LevelDB - 适用于写多读少的KV数据库
- Python3.6 (or higher)
LevelDB 安装
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源代码包,可以去官网查看最新版的下载地址
下载 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
环境配置
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