Quorum企业以太坊环境搭建教程

Quorum以太坊的企业级分布式账本平台 阅读详情

Quorum是一个许可制的以太坊联盟区块链实现,包含了金融巨头JP摩根开发的一个GETH分支版本,可以在节点之间实现私有和快速的交易。Quorum为保证隐私对节点之间的私有交易进行了专门的设计,它使用Raft和Istanbul算法实现共识,使用Tessara和Constellation实现节点数据的加密和共享。在Quorum网络中交易不需要付费,交易的验证是由投票共识算法完成的。总体上来讲Quorum类似于以太坊,只是它更关注的企业环境下的交易隐私性与可控性,因此每个节点都需要Quorum网管生成的密钥对。

学习Quorum区块链的最好的办法,就是运行官方提供的7节点示例。虽然有多种方法来搭建7个节点,我还是建议使用docker,因为这应该是最简单的办法。下面我使用Google云的Ubuntu 18.04。如果你在本地机器或AWS上有ubuntu,也是一样的。请先确认docker和docker-compose已经安装就绪。

在下面的演示中,我们要搭建7个Quorum节点,然后考察节点之间的私有交易是如何运作的。

1、搭建节点

运行下面的命令来搭建全部7个节点:

git clone https://github.com/jpmorganchase/quorum-examples.git
cd quorum-examples
QUORUM_CONSENSUS=raft docker-compose up -d

默认情况下,使用Tessera交易管理器和Istanbul BTF共识来搭建Quorum网络。因此为了修改为Raft共识算法,我们设置环境变量QUORUM_CONSENSUS=raft,然后启动7个节点
的后台运行。

你可以运行docker ps来查看每个容器的运行状态以及其ID。需要稍等一会儿以便容器启动就绪。

2、部署智能合约

如果要快速掌握以太坊区块链开发,推荐汇智网的在线互动课程:

java以太坊开发详解 |
python以太坊开发详解 |
php以太坊开发详解 |
C#以太坊开发详解

以太坊智能合约与DApp开发入门 |
以太坊电商DApp实战 |
ERC721以太坊通证实战

要在节点上部署智能合约,我们需要运行下面的命令进入该节点的geth控制台:

docker exec -it quorum-examples_node1_1 geth attach /qdata/dd/geth.ipc 

命令中的quorum-examples_node1_1是节点1的容器ID。上面的命令进入节点1的geth控制台,现在我们可以在控制台中进行操作。

下面我们要运行部署合约的javascript脚本。如果你查看示例代码目录,可以看到在quorum-examples/examples/7nodes目录下有private-contract.js和simplestorage.sol 文件。在geth控制台运行:

> loadScript('/examples/private-contract.js')

命令执行需要稍等一会儿。一旦部署成功,上面的命令将返回合约地址,记得拷贝下来或者抄到纸上。上述脚本在节点1上部署了一个简单的状态值为42的存储合约,交易是节点1和节点7之间私有的,这意味着其他节点将看不到这个状态值。

要验证这一点,我们可以开启节点2的geth终端,使用ABI和合约地址创建合约实例:

> var abi=<Paste ABI here>;
> var address="<paste Contract Address here>";
> var contract=eth.contract(abi).at(address);

>contract.get() //calling get() method
0

果然。

现在进入节点7的geth终端,同样使用ABI和合约地址创建合约实例,然后尝试读取状态值:

>contract.get()
42

和预期一样。

3、发送私有交易

现在我们尝试在节点7和其他任选节点之间创建一个新的私有交易,调用合约的set()方法来修改状态值。这需要使用节点的公钥,可以在quorum-examples/examples/7nodes/keys/目录下找到全部7个节点的对应公钥。

contract.set(4,{from:eth.coinbase,privateFor:["<your preferred node public key>"]});

上面的脚本将设置合约状态值为4,并且仅对指定的节点保持可见。你可以打开这些指定节点的geth终端查看合约状态值,你看到的应该是4。


原文:A Beginner guide to Quorum Blockchain

汇智网翻译整理,转载请标明出处

quorum-network:使用docker compose部署Quorum网络 仲裁网络 该存储库包含区块链平台的简单设置。 它基于示例,并提供了一个简单的Quorum网络设置,带有或不带有Tx Manager的Quorum隐私功能,以及以下三种受支持的共识算法: 筏 集团 伊斯坦堡 通过此示例,可以启动一个由8个独立Quorum节点组成的功能齐全的Quorum Ethereum专用网络。 每个节点都在单个docker容器中运行,其中abd公开了RPC API和Geth控制台,用于测试不同的共识,隐私和以太坊平台的所有预期功能。 除了其原始版本之外,该示例还使用户能够轻松设置以clique共识协议运行的仲裁网络。 默认情况下,该示例还运行7个Tx Manager节点以进行隐私保护-节点8不具有此功能。 可以很容易地禁用Tessera的隐私节点,如下所示。 运行示例 确保已安装<docker> 。 如果没有,您可以按照安装Docker Compose 立即下载

相关推荐

无blk-explorer-free:以太坊和Quorum私有区块链浏览器

无blk-explorer-free:以太坊和Quorum私有区块链浏览器

docker部署quorum cakeshop集成开发环境

环境 os: centos7.6 docker-ce:19.03.5 启动容器 创建数据目录 mkdir /root/cakeshop-data 后台启动 docker run --name cakeshop -d -p 8080:8080 -v /root/cakeshop-data:/opt/cakeshop/data \ -v $HOME/.ethash:/opt/cakeshop...

KK下山去买菜 732

(遇到问题)(已解决)word敲入的公式转化为mathtype

https://www.mathtype.cn/wenti/wordgongshi-zhuanhuan.html 现在越来越多的人在文档中编辑公式的时候会选择MathType来编辑,因为它包含有众多的数学符号和模板,编辑公式时非常方便。但是也有一些人在编辑公式时没有使用MathType公式编辑器,直接使用Word中自带的公式编辑器来编辑的。当我们需要要共享一份文件的时候,这种用自带公式编辑器编辑出来的文件,在我们安装有MathType公式编辑器的电脑里打开时,双击公式没有反应,是无法对它们进行修改的.

计算机视觉 1万+

Quorum入门2.0:Quorum-企业以太坊-开始尝试

0.Quorum官网Getting Started 上一节为Quorum入门1.0:Quorum-企业以太坊-首页介绍 1.快速开始 这一部分详细描述了几种使用Quorum的方法,包括通过使用wizard向导程序来生成一个本地网络,以及从头开始配置和创建一个完整的网络。 1.1通过quorum wizard快速开始 建立和运行网络的最简单方法是使用Quorum Wizard。 此命令行工具提供了创建本地Quorum网络的方法,该网络可以在几分钟内启动并准备就绪。 它提供了用于配置网络的选项,然后生成所有资

废弃的诺亚方舟 1053

(25.08)Ubuntu20.04+ROS1复现FAST-LIO2

请确保在。

m0_69023437的博客 3989

【AI落地】AI生成测试用例,claude or gpt?(提效至少 50%)

gpt生成测试用例?当然好使啦,用好了提效50%+,用不好就让他变好!

青禾tester 1965

零起点玩转基于以太坊的联盟链Quorum系列01

Quorum是由美国的金融机构摩根大通推出的企业级区块链平台 Quorum是一个联盟链 Quorum基于以太坊, 在基础结构上保持与以太坊的同步, 增强的部分集中在隐私控制、权限控制、共识机制,以及提高整个链的交易性能 特点逻辑架构从上面的逻辑架构图可以看出一个Quorum结点由两部分组成:1.基于以太坊的QuorumNode 2.Quorum增加的Con

about_blockchain的博客 5391

360加固DEX解密与ELF修复技术解析

本文深入解析了360加固APK的逆向分析技术,重点探讨了其DEX解密与ELF文件修复的核心流程。通过动态调试与Frida脚本,详细拆解了壳的启动机制、反调试绕过、自实现Linker技术,并还原了基于RC4和自定义算法的多层DEX解密过程,为移动安全研究人员提供了实用的实战分析思路。

alice7model的博客 701

Quorum企业以太坊搭建区块链记录系列

1.第一个《Quorum企业以太坊环境搭建教程》 链接:Quorum企业以太坊环境搭建教程 注意事项:事先安装好docker和docker-compose; $ git clone https://github.com/jpmorganchase/quorum-examples.git 正克隆到 'quorum-examples'... remote: Enumerating objects: 52, done. remote: Counting objects: 100% (52/52), d

废弃的诺亚方舟 3607

STM32实现薄膜压力传感器数据采集(标准库和HAL库实现)

薄膜压力传感器采集压力数据

XiaoCaiDaYong的博客 3万+

Keras中神经网络可视化模块keras.utils.visualize_util安装配置方法

Keras中神经网络可视化模块keras.utils.visualize_util安装配置方法

jacke121的专栏 2759

初探摩根大通的企业级以太坊区块链解决方案—Quorum

根据Coindesk近期发布的《2017年区块链行业报告》,企业级区块链快速发展的势头已经呈现出来,该报告预计2025年全球企业级区块链年收入将会达到199亿美元。作为2017年成立的区块链联盟EEA(Enterprise Ethereum Alliance,企业以太坊联盟)核心成员,摩根大通倾力打造的Quorum区块链平台,值得引起Fintech业界的重视。 【Quorum是什么】 Quor...

陈建慧程序人生 1981

会话管理技巧——如何优化OpenClaw的上下文理解能力(2026进阶版)

本文深入探讨了OpenClaw系统的会话管理技术,重点介绍了会话定义、生命周期管理和上下文优化策略。会话管理包含会话ID、用户信息、状态等核心要素,以及创建、维护、终止和恢复四个生命周期阶段。上下文管理通过ContextManager类实现,支持创建、更新、消息添加和变量管理等功能,并采用历史记录机制确保会话连续性。ContextOptimizer类则负责应用优化规则,通过消息和变量压缩等技术提升系统性能。这些技术共同构建了OpenClaw强大的会话管理能力,为AI助手提供了高质量的交互体验基础。

博客 489

阿里云BaaS下企业以太坊(Quorum)开发实践

环境准备 在阿里云BaaS中部署Quorum网络节点,具体可参考另一篇博文 在节点管理器中找到客户端要连接节点信息 连接地址:在节点列表中可以查看节点rpc访问链接地址(提供http与ws两种格式) 安全信息:在节点设置中可以查看或修改节点访问的用户名密码 使用客户端访问 下载geth交互控制台 MAC OS: geth_v2.2.0_darwin_amd64.tar.gz...

1033

SAP MD81创建客户独立需求简介

正常我们用的最多的计划独立需求都是使用的是MD61 ,今天我们说下SAP的另外的一个标准功能客户独立需求MD81。虽然SAP给这个TCODE的描述是客户独立需求,但是实际是没有地方去关联对应的客户信息的。可以看到根据客户需求产生了对应的计划订单,我们创建的时候选择的KSV是按库存生产的,所以转换的时候生产订单也按单生产的。上面填写的这些字段的信息是不是和我们销售订单里面的字段的信息很相似。1)填写交货日期,可以选择按月 ,按日,按周等类型选择对应的日期。保存后会显示对应的客户独立需求的号码,如下图。

我小时候很黑的博客 2901

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

基于以太坊的联盟链?Quorum机制初探(上)

导读:摩根大通的Quorum平台是区块链行业的关注热点(Quorum是由摩根大通最初在去年秋季公布的一种基于以太坊的区块链网络),并且摩根大通近期与零币电子货币公司(Zerocoin Electronic Coin Company)的合作更是引发热议。有专家称,这种将零知识密码学与Quorum相结合的举措,是区块链行业的一大进步,因为这样一来,以太坊将构建更适合的企业级解决方案,并推动区块链的企业

about_blockchain的博客 5233

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Quorum企业以太坊搭建区块链记录系列-浏览器remix连接启动的quorum网络

0.描述 参考官网教程:GoQuorum Plugin for Remix; 初始环境搭建和设置在上一篇Quorum企业以太坊搭建区块链记录系列当中。 1.启动网络 yanhao@yanhao-ThinkPad-T480:~/quorum/fromscratch-again/new-node-1t$ java -jar ../tessera.jar -configfile config.json >> tessera.log 2>&1 & [1] 31024 yanha

废弃的诺亚方舟 660

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

基于以太坊的联盟链?Quorum机制初探(中)

摩根大通的Quorum平台是区块链行业的关注热点(Quorum是由摩根大通最初在去年秋季公布的一种基于以太坊的区块链网络),并且摩根大通近期与零币电子货币公司(Zerocoin Electronic Coin Company)的合作更是引发热议。有专家称,这种将零知识密码学与Quorum相结合的举措,是区块链行业的一大进步,因为这样一来,以太坊将构建更适合的企业级解决方案,并推动区块链的企业应用。

about_blockchain的博客 6421

公链分析报告(8)--Quorum - 企业级以太坊

Quorum是以太坊代码库的一个为金融领域提供的以企业为中心的私有区块链。

搬砖魁首的博客 1538

Quorum入门1.0:Quorum-企业以太坊-首页介绍

0.官网文档阅读 Quorum - Enterprise Ethereum Client 1.Quorum是什么? 支持交易与合约隐私、基于以太坊的分布式账本协议; Quorum主要特征:交易与合约隐私、多重基于投票的共识机制、网络和节点许可管理、更高的性能。 2.Quorum组件有哪些? 逻辑架构图: Quorum节点:对于geth的轻量级分叉; Quorum节点相比于geth的改动: (1)共识为Raft或Istanbul BFT,而不是POW; (2)P2P层仅允许许可节点进行连接; (3)区块

废弃的诺亚方舟 872

摩根大通的企业级区块链解决方案—Quorum

根据Coindesk近期发布的《2017年区块链行业报告》,企业级区块链快速发展的势头已经呈现出来,该报告预计2025年全球企业级区块链年收入将会达到199亿美元。作为2017年成立的区块链联盟EEA(Enterprise Ethereum Alliance,企业以太坊联盟)核心成员,摩根大通倾力打造的Quorum区块链平台,值得引起Fintech业界的重视。 【Quorum是什么】 Quor...

跨链技术践行者 1万+

Quorum工作原理

概述 Quorum是摩根大通推出的联盟链,它是一种基于以太坊的分布式账本协议,可以称之为企业以太坊。 Quorum是以太坊go-ethereum的分支,并对go-ethereum进行了修改。 相比以太坊主要增强的功能: 隐私 -私有交易和私有智能合约 新的共识机制-非POW/POS,基于raft的共识和Istanbul BFT 网络、节点权限许可 更高的性能 逻辑架构 主要的组件: Quo...

KK下山去买菜 2776

分布式账本(Quorum)

Quorum基于以太坊代码库进行开发的分布式账本平台,主要面向企业级应用。它对以太坊的功能进行了扩展和优化,增加了隐私保护等特性,适用于对交易隐私要求较高的场景。Quorum采用了一种名为“隐私交易”的技术,能够在不公开交易细节的情况下完成交易的验证和记录,保护了企业的商业机密。1. 企业数字化转型的需求越来越多的企业意识到数字化转型的重要性,而区块链技术作为一种创新的数字化解决方案,能够为企业带来诸多好处。

weixin_43156294的博客 2300

企业以太坊联盟_企业以太坊

企业以太坊联盟 Java已经存在了一段时间,并且已经为企业所熟知。 以太坊是一种区块链技术,它将通过引入在区块链上执行代码的能力(称为智能合约)来改变企业的经营方式。 企业将希望与这项革命性的技术集成,以收获使用智能合约的好处,但是这样做非常耗时且在经济上成本很高。 对于企业来说,最便宜的方法是利用他们熟知和理解的技术,例如Java。 作为Java开发人员,编写智能合约仍然存在障碍,因为它们通常...

647

Quorum区块链原理及其概念

Quorum概述 Quorum是由摩根大通研发的企业级区块链,用于解决金融或满足于企业需求的行业的需求的平台[56]。Quorum是基于以太坊扩展研发的一种联盟链,适用于对交易效率和吞吐量比较高的企业应用。Quorum作为以太坊的许可实施方案,对以太坊设计的主要变更如下: (1) 节点加入管理:对节点的加入增加了身份限制的管理,只有参与的节点才可以连接进入Quorum链,从而参与交易的验证、智能合同的部署和区块链的维护等工作。 (2) 共识机制的调整:默认条件下,Quorum链采用的是Raft共识机制和IB

mlynb的博客 8612
上一篇: Omni/USDT PHP开发包简介
下一篇: 如何计算EOS代码和ABI的哈希
落叶无声9
博客等级 码龄12年 443粉丝 343原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值