FISCO BCOS区块链学习

您所在的位置:网站首页 eclipse控制台换行 FISCO BCOS区块链学习

FISCO BCOS区块链学习

2022-11-27 19:06| 来源: 网络整理| 查看: 265

平台介绍:单链TPS可达两万

硬件推荐配置

CPU 2.4GHz * 8核 内存8GB 存储4TB 网络带宽10Mb

共识算法:

PBFT、Raft、rPBFT

存储引擎:KV和SQL

智能合约:Solidity

安全控制:支持全流程SSL协议 SSL安全套接字协议

工具集:开发部署工具

FISCO BCOS提供了build_chain.sh脚本帮助用户快速搭建FISCO BCOS联盟链,该脚本默认从GitHub下载master-2.0分支最新版本预编译可执行程序进行相关环境的搭建

区块链中节点的环境

基于Java SDK的交互式的命令行工具console

基于Java SDK开发应用过程中将solidity代码转换为java代码时,必须使用2.6+版本控制台

新版本基于Java SDK开发

控制台是FISCO BCOS 2.0重要的交互式客户端工具,它通过Java SDK与区块链节点建立连接,实现对区块链节点数据的读写访问请求。控制台拥有丰富的命令,包括查询区块链状态、管理区块链节点、部署并调用合约等。此外,控制台提供一个合约编译工具,用户可以方便快捷的将Solidity合约文件编译为Java合约文件

区块链浏览器

1.区块链浏览器主要的功能模块有:群组切换模块,配置模块,区块链信息展示模块

2.使用前提:群组搭建 因为区块链浏览器中的数据是从群组中节点获取的

3.区块链浏览器的搭建

区块链浏览器分为两个部分:后台服务fisco-bcos-browser、前端web页面fisco-bcos-browser-front。

两种方式:一键搭建和手动搭建

一键搭建:适合前后端同机部署,快速体验的情况使用

手动搭建:

后台服务搭建:区块链浏览器后台服务使用Spring Boot的JAVA后台服务前端web页面服务搭建:区块链浏览器前端web页面使用框架vue-cli 区块链的架构和执行流程

整体架构上,FISCO BCOS划分成基础层、核心层、管理层和接口层:

基础层:提供区块链的基础数据结构和算法库核心层: 实现了区块链的核心逻辑,核心层分为两大部分:链核心层: 实现区块链的链式数据结构、交易执行引擎和存储驱动互联核心层: 实现区块链的基础P2P网络通信、共识机制和区块同步机制管理层: 实现区块链的管理功能,包括参数配置、账本管理和AMOP接口层: 面向区块链用户,提供多种协议的RPC接口、SDK和交互式控制台

搭建第一个区块链网络:(单群组fisco bcos区块链)一、搭建单群组网络若已搭建好,升级版本使用docker搭建 使用d[option]配置项多群组有多群组的搭建方式

安装步骤:

下载openssl curl依赖创建操作目录,下载区块链的安装脚本 build_chain搭建单群组4节点联盟链(通过子网和端口号搭建本地4节点联盟链)启动FISCO BCOS链(启动所有节点)检查进程是否启动检查日志输出(检查节点是否与其他节点连接 节点是否在共识)二、配置及使用控制台准备依赖安装java(使用系统默认的java)下载控制台拷贝控制台配置文件(拷贝样本配置文件)配置控制台证书

2.启动并使用控制台(用控制台获取节点信息)

三、部署及调用HelloWorld合约编写HelloWorld合约(solidity语言)部署HelloWorld合约调用HellowWorld合约开发第一个区块链应用(类比Web开发)了解应用需求开发智能合约(智能合约就是业务逻辑)编译智能合约创建区块链应用项目开发源码引入FISCO BCOS Java SDK

5.配置SDK证书(引入Spring框架)

6.业务逻辑开发

开发第一个区块链应用:

问题:

一个区块是否可以存多个交易呢

合约:交易的相关信息

附:

linux中的.sh文件,一般是bash脚本,Bash (Bourne Again Shell)是一个解释器,负责处理系统命令行上的命令

sh文件怎么执行?

1、直接./加上文件名.sh,如运行hello.sh为 ./hello.sh 【绝对路径下也可以】

2、直接sh 加上文件名.sh,如运行hello.sh为 sh hello.sh

脚本语言

一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组序列。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令序列的指令,还可以编写更复杂的程序。

脚本语言:一系列命令的集合

脚本语言与编程语言的区别有:1、脚本语言不需要编译器,省去编译过程;而编程语言需要编译器。2、脚本语言是动态的,可以实时更改代码;而编程语言不可以实时更改代码。3、脚本语言易学,但缺乏系统性;编程语言较为成熟。

boost库:功能强大,共包含 160 余个库 / 组件 , 涵盖字符串与文本处理、容器、迭代器、算法、图像处理、模板元编程、并发编程等多个领域。

rest依赖 version版本

curl命令行url

nc命令:netcat的简写,是一个功能强大的网络工具,有着网络界的瑞士军刀美誉。

EVM以太坊虚拟机

EVMC (Ethereum Client-VM Connector API),是以太坊抽象出来的执行器的接口,旨在能够对接各种类型的执行器

.ini某些软件非正式的配置文件格式(ini初始化的缩写)

应用脚手架:脚手架是一种工作平台 现指一种工作平台 一种理念 一种框架等等

智能合约(英语:Smart contract )是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。

一个合约可以有不同的交易,一个交易构成一个区块

Ant、Maven、Gradle—Java构建工具比较:Maven使用XML(pom.XML)进行项目配置;Gradle是一种现代自动化工具,用于项目构建自动化的软件开发;ApacheAnt是ApacheMaven的前身。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3