博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FISCO BCOS 智能合约 可视化数据库 Mysql MariaDB
阅读量:2038 次
发布时间:2019-04-28

本文共 1950 字,大约阅读时间需要 6 分钟。

FISCO BCOS的区块链数据,默认是通过RocksDB保存在磁盘中。如果希望把数据保存到MySQL数据库,可以先自行部署一个MySQL数据库。

 

一、安装mysql或者MariaDB数据库

1. 安装

此处以Centos安装MariaDB为例。MariaDB数据库是 MySQL 的一个分支,MariaDB完全兼容 MySQL,包括API和命令行。

// 安装sudo yum install -y mariadb*// 启动sudo systemctl start mariadb.service// 停止// sudo systemctl stop  mariadb.service// 设置开机启动sudo systemctl enable mariadb.service// 初始化// 执行以下命令:sudo mysql_secure_installation// 以下根据提示输入:// Enter current password for root (enter for none):<–初次运行直接回车// Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车// New password: <– 设置root用户的密码// Re-enter new password: <– 再输入一次你设置的密码// Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车// Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车// Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车// Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

2. 授权访问和添加用户

// 使用root用户登录,密码为初始化设置的密码mysql -uroot -p -h localhost -P 3306// 授权root用户远程访问mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;mysql > flush PRIVILEGES;// 创建test用户并授权本地访问mysql > GRANT ALL PRIVILEGES ON *.* TO 'test'@localhost IDENTIFIED BY '123456' WITH GRANT OPTION;mysql > flush PRIVILEGES;

3. 测试连接和创建数据库

// 登录数据库mysql -utest -p123456 -h localhost -P 3306// 创建数据库,用来存储区块链的数据mysql > create database blockchain;

 

二、修改区块链节点的配置文件

1. 将区块链节点停止

假如安装的的webase-front

启动: bash start.sh停止: bash stop.sh检查: bash status.sh

参考文档:

 

2. 修改节点的配置文件

群组配置文件通常位于区块链节点的配置目录下:conf/group.1.ini

将每个节点中的group.1.ini修改为如下信息

[storage]    type=mysql    db_ip=127.0.0.1    db_port=3306    db_username=数据库账户名,比如我的test    db_name=数据库的名字,比如我的blockchain    db_passwd=数据库账户密码,比如我的123456

参考文档:

3. 启动区块链

启动: bash start.sh

三、在webase-front中编写创建数据表的智能合约

1. 代码

可以参考

// 创建成绩表function create() public onlyOwner returns(int){		TableFactory tf = TableFactory(0x1001);		int count = tf.createTable("stu_score", "student_id", "course_name, score");		emit createEvent(msg.sender, "stu_score");		return count;}

2. 执行合约

3. 效果

我们可以在命令行中进入到数据库查看

 

 

 

 

 

转载地址:http://pvkof.baihongyu.com/

你可能感兴趣的文章
MongoDB 监控指标
查看>>
Zabbix系统接口文档
查看>>
web性能优化之Waiting(TTFB)简介
查看>>
Lambda表达式排序,出现空指针异常
查看>>
java.lang.UnsupportedOperationException解决方法
查看>>
莫名其妙的maven依赖错误的解决(不应该出现的依赖错误)
查看>>
apollo github的说明介绍
查看>>
SonarQube 跳过指定检查
查看>>
java map遍历使用并行流
查看>>
ajax异步提交 页面请求
查看>>
服务器端判断request来自Ajax请求(异步)还是传统请求(同步)
查看>>
java接口不能声明为synchronized
查看>>
前端界面调试步骤
查看>>
JSP的CSS背景样式写法
查看>>
jsp页面中jstl标签详解 包括< c> <c> <c>
查看>>
jstl c:forEach 一行排三个图片然后自动换行
查看>>
java中的BigDecimal和String的相互转换
查看>>
hadoop、storm和spark的区别、比较
查看>>
Tomcat调优总结
查看>>
hibernate hql 同时更新多个字段
查看>>