目录
1.环境准备
2.下载区块链浏览器并部署
3.部署项目
5.配置4个节点
6.合约配置
7.区块链信息—预览
一键部署模式,采用的是同机部署。
官方文档一键部署说明:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/browser/deploy.html#id17
(1)Java环境搭建:在搭建控制台的时候已经安装了Java环境,使用以下命令查看Java版本。
java -version
(2)Python2.7 下载安装,使用以下命令查看Python版本。
python2 --version
(3)安装MySQL
sudo apt-get install mysql-server
apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
检查是否安装成功
sudo netstat -tap | grep mysql
看到mysql 的socket处于 listen 状态表示安装成功,如下示:
(4)MySQL-python下载安装
sudo apt-get install -y python-pip
sudo pip install MySQL-python
出现Successful installed MySQL-python 即表示安装成功,如果出错
sudo apt-get install libssl-dev libffi-dev build-essential libxml2-dev libxslt1-dev
或者也可以尝试
pip install MySQL-python
(5)mysql 5.7 版本操作
①打开系统配置文件
sudo vim /etc/mysql/debian.cnf
将用户名和密码复制下来
user = debian-sys-maint
password = BEMk40zc3jkkoVJz
②使用下面命令,进行用户登录,-p后面直接是上面的密码
mysql -u debian-sys-maint -pBEMk40zc3jkkoVJz密码
③修改操作用户密码
use mysql;
update user set authentication_string=PASSWORD("自定义密码") where user='root';
update user set authentication_string=PASSWORD("123456") where user='root';
更新
update user set plugin="mysql_native_password";
flush privileges;
quit;
④重启mysql
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
⑤重新连接mysql,查看当前数据库,登录完成之后退出mysql
mysql -u root -p前面自定义的密码
mysql -u root -p123456
quit;
(1)拉取代码
git clone https://github.com/FISCO-BCOS/fisco-bcos-browser.git
(2)对区块链浏览器的配置进行修改
①进入一键部署目录
cd fisco-bcos-browser/deploy
查看
ls
如下可看到我们要修改的 配置文件
②vim修改文件
vim common.properties
修改用户名和密码,按i可输入,database就是区块链浏览器要用的数据库名称,对应的Server.port 和 web.port 根据实际情况修改,一般情况下用默认的,修改前:
修改后:
按ESC键,退出编辑模式, 使用以下命令保存:
:wq
(1)部署所有服务
python deploy.py startAll
问题:
解决:
①可以先尝试以下命令,部署所有服务:
python deploy.py installAll
此时可能出现的问题:
这是因为unzip命令没有安装,不能使用
安装命令如下:
apt-get install zip unzip
成功了则:
停止所有服务:
python deploy.py stopAll
重试,启动所有服务:
python deploy.py startAll
就解决了,成功界面如下:
(2)可以看到端口为5100,我们在浏览器里输入ip:5100进行访问
10.13.1.23:5100
登录之后可以看到
(3)填写并提交:群组ID默认为1
就可以在generator/conf/group_genesis.ini看到群组1信息:
(1)新增节点
查看接口:
配置接口
同样方法新增另一个节点
(2)新增另一个机构的两个节点
①新增一个节点
②新增另一个节点
(1)HelloWorld合约
HelloWorld合约提供两个接口,分别是get()
和set()
,用于获取/设置合约变量name
。合约内容如下:
pragma solidity ^0.4.24;
contract HelloWorld {
string name;
function HelloWorld() {
name = "Hello, World!";
}
function get()constant returns(string) {
return name;
}
function set(string n) {
name = n;
}
}
新建一个txt文档将HelloWorld合约的内容放进去,将后缀名改为.sol,然后再上传合约——编译合约,就可以看到: