Hot answers tagged

10

I'm not an expert on this Quorum world. But as i've read, the main difference between the three mechanisms you mentioned is the % of BFT (Byzantinism Fault Tolerance). BFT is defined as: Byzantine fault tolerance (BFT) is the dependability of a fault-tolerant computer system, particularly distributed computing systems, where components may fail and ...


5

Possibly, it is block_voting.sol. I'm 90% sure. Also, I'm 90% sure that it's garbage. This contract is not used by Istanbul consensus. Some evidence (with radare2): Cut "code:" content from "istanbul-genesus.json", and paste to text file "istanbul-cintract.hex". Remove "0x" prefix: "606060405236156100c45760e060020a6... Transform it to binary by "rax2" ...


5

You need Ether in the account. But Ether is not deducted from the account. Check this issue issue38


5

Updated: Since Quorum v2.2.1, we now support remote signing for raw (read signed) private transactions. The API is explained in several places, but a great starting point is Quorum.js hosted here: https://github.com/jpmorganchase/quorum.js/ Original: answered Sep 10 '18 at 18:54 At the moment, Quorum does not support sending signed / raw txns that are ...


5

I hope I understand you question correctly. This is the code I came up with. It is tested and should be working as expected (at least in my opinion). pragma solidity ^0.5.0; contract simpleexample{ bytes32[] inputHashArray; function addNewHash(bytes32 input) public returns (uint) { inputHashArray.push(input); return inputHashArray....


4

The code is at https://github.com/jpmorganchase/quorum There are related repos at the parent https://github.com/jpmorganchase, such as quorum-examples, quorum-docs, constellation, and cakeshop. https://www.jpmorgan.com/country/US/EN/Quorum has a summary and other information such as: Quorum is an enterprise-focused version of Ethereum. Quorum is ideal for ...


4

I found the solution, please refer, #296 Use FastRawTransactionManager to speed up your transactions. Use RawTransactionManager to shorten the polling interval. If you need both, use the following code, pollingInterval = 3000; // 3 seconds FastRawTransactionManager fastRawTxMgr = new FastRawTransactionManager(web3, credentials, new ...


4

inside module.exports, add Gas and gasPrice. network_id: "*", // Match any network id gasPrice: 0, gas: 4500000


4

This paper Performance Evaluation of the Quorum Blockchain Platform gives a good comparison between Raft and IBFT in term of latency and throughput.


4

I can't speak to the others as I work on Quorum, but there are a few good sources that our team uses and references. Here is performance evaluation done by an external team with published method and results: https://arxiv.org/abs/1809.03421 Here is one of the tools we use that tries to standardize a way to submit and measure txn throughput in ethereum like ...


3

A Quorum node's keypair is generated using Constellation. Depending on which version you have, you run either of the following to generate tm.key (private key) and tm.pub (public key) files. You can just hit return when prompted to set a password unless you really want one. Old way: constellation-enclave-keygen tm New way: constellation-node --...


3

From JP Morgan released its implementation of a permissioned version of Ethereum, the GitHub repository for Quorum is at https://github.com/jpmorganchase/quorum. From the repository: Quorum is an Ethereum-based distributed ledger protocol with transaction/contract privacy and a new consensus mechanism. Key enhancements: QuorumChain - a new consensus ...


3

As far as I know, JPMorgan's Quorum is ready to use with quite guarantees (which doesn't mean that it couldn't be improved or stuff like that). Think about that, Quorum isn't more than the Raft Consensus Algorithm but hoarding control about some Byzantinism, not all of them because on a private/permisioned blockchain, you can asume that not all of the ...


3

The requirements for private txn (Quorum only) posts are a lot different than a regular txn (vanilla Ethereum) mainly because the underlying privacy layer is handled as another p2p communication network and the timing it takes to encrypt and transfer the payload between constellation nodes. Essentially, Ethereums sendTrascation is already async since its ...


3

privateFor is used for sending Quorum's private transactions. As described in Quorum docs, a private transaction is encrypted using the EC public key of the recipient. That way only the recipient can decrypt it using their private key. Generally, the public key is needed to encrypt data "for someone". As to why someone's address isn't sufficient - an ...


3

The issue here is that you've provided a 'privateFor' value - quorum therefore treats it like a private transaction; however the privateFor value you've provided is an empty list, so it gets rejected. If you provide a null value for privateFor then you'll find that it works fine. (BTW that GASLIMIT value in DeployGasProvider is pretty high, so you may find ...


3

In the Quorum Wiki is a technical step for step setup Guide link If you want to jump the initial Network setup and want to test quroum direktly, you could use "Quorum Maker" to quickly spin up a Test Network and test your Smart contracts there.


3

Quorum adds a number of features into plain Ethereum, tho from perspective of using it or developing a dapp with it its practically the same. These features are what make Quorum enterprise ready and they are: privacy (as in peer to peer privacy through private smart contracts), permissioning (as in ability to set up the entire chain's nodes), pluggable ...


3

Please provide the consensus mechanism you are using. In case it is raft please provide the output of raft.cluster In case raft.cluster returns null you have to delete some internal file.


3

There are 2 main differences: Besu is a more generic client that support Ethereum mainnet and is written in Java Quorum is a fork of geth (go-ethereum, the most used client for ethereum). It does not support mainnet as of now, and as a fork of geth it is written in Go There are many other differences in terms of ease of setup, ease of use, and various ...


2

A transaction's receipt is only generated if the transaction ends in success. If the transaction ran out of gas or threw an exception, the receipt will not be generated. The first thing I would check is that the transaction ended without error. If the transaction ended successfully, then the next most likely cause of no log would be that you're querying the ...


2

Try the following, from If you need some Ropsten Testnet ethers...: geth --testnet removedb geth --testnet --fast --bootnodes "enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303,enode://...


2

You use the privateFor: parameter. More details here. https://github.com/jpmorganchase/quorum/wiki/Using-Quorum#creating-private-transactionscontracts Hope it helps.


2

geth --datadir qdata/dd1 init genesis.json geth --datadir qdata/dd2 init genesis.json geth --datadir qdata/dd3 init genesis.json and so on..... This is the same genesis file that it is using to initialize. It is not different hence not a different blockchain. You are on the same chain if 1. You have the same network ID 2. Your genesis block is exactly the ...


2

You'll have: Node A with public state and private state A listening for A1 and A2. Node B with public state and private state B listening for B1 and B2. A1 will send a privateFor transaction to: B1. Since it's private, it will hand the transaction to the transaction manager. The transaction manager will know that Node B listens for B1 and will hand it to ...


2

No. Not directly. The consensus mechanism is too different. You could conceivably run both kinds and nodes and you can create bridge services that use provable event emissions from one chain to trigger transactions on the other. Hope it helps.


2

I think you may be running into a difference between Quorum and Ethereum. From https://github.com/jpmorganchase/quorum/issues/190: The reason the number is so large is that because it's in nanoseconds, not seconds, since epoch. With raft-based consensus we can produce far more than one block per second, which vanilla Ethereum implicitly disallows: the ...


2

As you said, you can do everything without web3. Most users just don't find it easy to do most of the things web3 does for you. So web3 is just a wrapper library which provides easy-to-use access to various functionalities. It makes development a lot easier for those who are not hardcore blockchain enthusiasts (who don't want to write RPC calls). In doing ...


2

Quorum is a specialization of Ethereum. My answer and approach applies to both platforms as it does not touch on Quorum-only matters like privateFor. The way the question is framed suggests some conceptual matters to clear up. Let's start with the low-hanging fruit. Data lineage is a given in both cases. These are append-only systems where nothing can exist ...


2

Even though, in Quorum a user can send transactions for free, Quorum does not provide a DDoS protection more than what Ethereum do. To verify the above statement, you can check Quorum documentation and you will find nothing about DDoS (Wiki: https://github.com/jpmorganchase/quorum/wiki). Additionally, you can go to Quorum and the original Ethereum ...


Only top voted, non community-wiki answers of a minimum length are eligible