diff --git a/docs/Getting Started/7Nodes.md b/docs/Getting Started/7Nodes.md index 30d221314..9c7f2ee71 100644 --- a/docs/Getting Started/7Nodes.md +++ b/docs/Getting Started/7Nodes.md @@ -125,6 +125,7 @@ And there you have it. All 7 nodes are validating the same blockchain of transac Node Permissioning is a feature in Quorum that allows only a pre-defined set of nodes (as identified by their remotekey/enodes) to connect to the permissioned network. In this demo we will: + - Set up a network with a combination of permissioned and non-permissioned nodes in the cluster - Look at the details of the `permissioned-nodes.json` file - Demonstrate that only the nodes that are specified in `permissioned-nodes.json` can connect to the network @@ -220,3 +221,12 @@ After making these changes, the `raft-init.sh` and `raft-start.sh` scripts can b ``` After saving this change, the `./runscript.sh private-contract.js` command can be run as usual to submit the private contract. You can then follow steps described above to verify that node 5 can see the transaction payload and that nodes 2-4 are unable to see the payload. + +## Using a Tessera remote enclave +Tessera v0.9 brought with it the option to have an enclave as a separate process from the Transaction +Manager. This is a more secure way of being able to manage and interact with your keys. +To use the remote enclave, call your desired start with using `tessera-remote` as the first +parameter, e.g. `./raft-start.sh tessera-remote`. This will, by default, start 7 Transaction +Managers, the first 4 of which use a remote enclave. If you wish to change this number, you +will need to add the extra parameter `--remoteEnclaves X` in the `--tesseraOptions`, e.g. +`./raft-start.sh tessera-remote --tesseraOptions "--remoteEnclaves 7"`. diff --git a/docs/api.md b/docs/Getting Started/api.md similarity index 99% rename from docs/api.md rename to docs/Getting Started/api.md index 45f731f64..1df0aa8cc 100644 --- a/docs/api.md +++ b/docs/Getting Started/api.md @@ -208,7 +208,7 @@ curl -X POST http://127.0.0.1:22000 --data '{"jsonrpc":"2.0", "method":"eth_getQ submitting the transaction; a server must be set up to receive POST requests at the given URL. - ##### Parameters +##### Parameters 1. `Object` - The transaction object to send: - `from`: `String` - The address for the sending account. Uses the `web3.eth.defaultAccount` property, if not specified. @@ -222,7 +222,7 @@ curl -X POST http://127.0.0.1:22000 --data '{"jsonrpc":"2.0", "method":"eth_getQ - `privateFor`: `List` - (optional) When sending a private transaction, an array of the recipients' base64-encoded public keys. - `callbackUrl`: `String` - (optional) the URL to perform a POST request to to post the result of submitted the transaction - ##### Returns +##### Returns 1. `String` - The empty hash, defined as `0x0000000000000000000000000000000000000000000000000000000000000000` diff --git a/docs/Getting Started/running.md b/docs/Getting Started/running.md index fcd9feeda..77f0fcbe0 100644 --- a/docs/Getting Started/running.md +++ b/docs/Getting Started/running.md @@ -27,7 +27,7 @@ Example JSON RPC API call to send a public transaction: } ``` -See the [Quorum API](../../api) page for details on the `sendTransaction` call, which includes some modifications to the standard Ethereum call. +See the [Quorum API](../api) page for details on the `sendTransaction` call, which includes some modifications to the standard Ethereum call. !!! info See the Contract Design Considerations sections below for important points on creating Quorum contracts @@ -56,7 +56,7 @@ Example JSON RPC API call to send a private transaction: } ``` -See the [Quorum API](../../api) page for details on the `sendTransaction` call, which includes some modifications to the standard Ethereum call. +See the [Quorum API](../api) page for details on the `sendTransaction` call, which includes some modifications to the standard Ethereum call. !!! info See the Contract Design Considerations sections below for important points on creating Quorum contracts diff --git a/docs/roadmap.md b/docs/roadmap.md new file mode 100644 index 000000000..ae67edf3d --- /dev/null +++ b/docs/roadmap.md @@ -0,0 +1,49 @@ +### Projections for 2018 / 2019 + + + +!!! abstract "Privacy" + + - Organization-level privacy addressing + - Asset Transfer with Privacy (ZKP) + - Private Contract extensibility + - Private State consensus (beyond exposing sync methods) + + +!!! abstract "Permissioning" + + - Support different role-types: Read vs Write nodes/accounts + - Smart Contract-based network permissions + - Authenticated / Protected RPC API access + - Consensus Node Whitelisting + +!!! abstract "Performance" + + - Performance benchmark guidelines + - Transaction parallelization R&D + - EVM optimizations + - eWASM support + +!!! abstract "Resiliency" + + - Transaction Manager clusters + - Transaction Manager auto-recover of data in case of loss + +!!! abstract "Scalability & Interoperability" + + - Raft scalability enhancements + - POA & other consensus algorithms + - Inter-quorum asset transfers + - Rate limiting (gas price) + +!!! abstract "Tooling" + + - One-click network deployments + - Database adapters for better querying + - Monitoring/Logging tools + - Identity management tools + +!!! abstract "Other / (Ongoing)" + + - Ensure EEA Specification compliance + - Merge upstream geth changes diff --git a/mkdocs.yml b/mkdocs.yml index 3ebbab025..273ad481d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -18,6 +18,7 @@ nav: - Overview: Getting Started/Quorum-Examples.md - 7 Nodes Example: Getting Started/7Nodes.md - Running Quorum: Getting Started/running.md + - Quorum API: Getting Started/api.md - Consensus: - Consensus: Consensus/Consensus.md - Raft: Consensus/raft.md @@ -52,6 +53,7 @@ nav: - How it works: Privacy/Constellation/How constellation works.md - Sample Configuration: Privacy/Constellation/Sample Configuration.md - Running Constellation: Privacy/Constellation/Installation & Running.md + - Product Roadmap: roadmap.md - FAQ: FAQ.md theme: