区块链学习2——区块链浏览器的搭建

目录

1.环境准备

2.下载区块链浏览器并部署

3.部署项目

5.配置4个节点

6.合约配置

7.区块链信息—预览


1.环境准备

一键部署模式,采用的是同机部署。

  • Java jdk1.8.0_121及以上版本
  • Python 2.7
  • MySQL-Python 1.2.5
  • 数据库 mysql-5.6及以上版本

官方文档一键部署说明: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

区块链学习2——区块链浏览器的搭建_第1张图片

 ②使用下面命令,进行用户登录,-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;

 

2.下载区块链浏览器并部署

(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 根据实际情况修改,一般情况下用默认的,修改前: 

区块链学习2——区块链浏览器的搭建_第2张图片

修改后:

区块链学习2——区块链浏览器的搭建_第3张图片

按ESC键,退出编辑模式, 使用以下命令保存:

:wq

 

3.部署项目

(1)部署所有服务

python deploy.py startAll

 

问题:

区块链学习2——区块链浏览器的搭建_第4张图片

解决:

①可以先尝试以下命令,部署所有服务:

python deploy.py installAll

此时可能出现的问题:

这是因为unzip命令没有安装,不能使用

区块链学习2——区块链浏览器的搭建_第5张图片

安装命令如下:

apt-get install zip unzip

成功了则:

停止所有服务:

python deploy.py stopAll

重试,启动所有服务:

python deploy.py startAll

就解决了,成功界面如下:

区块链学习2——区块链浏览器的搭建_第6张图片

 

(2)可以看到端口为5100,我们在浏览器里输入ip:5100进行访问

10.13.1.23:5100

登录之后可以看到

区块链学习2——区块链浏览器的搭建_第7张图片

(3)填写并提交:群组ID默认为1

区块链学习2——区块链浏览器的搭建_第8张图片

就可以在generator/conf/group_genesis.ini看到群组1信息:

区块链学习2——区块链浏览器的搭建_第9张图片

5.配置4个节点

区块链学习2——区块链浏览器的搭建_第10张图片

 (1)新增节点

查看接口:

区块链学习2——区块链浏览器的搭建_第11张图片

 配置接口

区块链学习2——区块链浏览器的搭建_第12张图片

同样方法新增另一个节点

区块链学习2——区块链浏览器的搭建_第13张图片

区块链学习2——区块链浏览器的搭建_第14张图片

(2)新增另一个机构的两个节点

①新增一个节点

区块链学习2——区块链浏览器的搭建_第15张图片

区块链学习2——区块链浏览器的搭建_第16张图片

②新增另一个节点

区块链学习2——区块链浏览器的搭建_第17张图片

区块链学习2——区块链浏览器的搭建_第18张图片

 

6.合约配置

(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,然后再上传合约——编译合约,就可以看到:

区块链学习2——区块链浏览器的搭建_第19张图片

 

7.区块链信息—预览

区块链学习2——区块链浏览器的搭建_第20张图片

 

你可能感兴趣的:(区块链学习)