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

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 ...


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

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 ...


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

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 ...


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

You can take a look at CBX Quorum Explorer, which is free software. Some characteristics: Real-time synchronization with little delay (~ 1 second). Rollback mechanism after abrupt crashes of the syncer module. Auto-reconnect on database downs. Auto-reconnect on source node downs. Recognition of accounts represented with and without checksum. Infinite ...


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

That opcode is a recent addition to geth in the Constantinople release. You need to add the following to your genesis to enable Constantinople: "constantinopleBlock":0,


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

Currently there's no way to extend a private contract to other parties (although this is on the Quorum/Tessera roadmap). So at the moment, you would need to do it manually or within the contract itself by reading data from the old contract.


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 ...


3

You are correct - anyone with the address & ABI can call a public contract. The only way to prevent this is to have code within the contract that checks for calls from authorized addresses. If a private key is lost then the contract would need to be updated to replace that authorized address. I suggest you take a look at Quorum's smart contract based ...


3

Azure provides an RPC security layer that enforces access control to the network. In order to provide authentication to your RPC interface you can use basic authentication, certificate based authentication or you can link to your identity provider. After you are part of the network (rpc auth passe) you have Quorum state authorization layer (what is called ...


3

Your code is a good example of sending a public txn that is externally signed, but it is not a private txn, thus the contract is available on all nodes of the chain. Sending a private txn is a bit more complicated and involves an additional set of keys and servers -- these belong to Private Transaction Manager (Tessera) on your network. We do have a set of ...


3

There is no limit on the number of blocks. It's possible there is an error in your contract or web3.js code which is only manifesting after a number of iterations. Also, make sure you're still passing the correct parameters to your contract. If I search for that error message "BigNumber Error: new BigNumber() not a base 16 number", then I can find a number ...


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