Added content on deploying for production (#1774)

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
pull/2/head
MadelineMurray 5 years ago committed by GitHub
parent 51c6736320
commit ec4155cca4
  1. 10
      docs/Permissions/Onchain-Permissioning/Getting-Started-Onchain-Permissioning.md
  2. 14
      docs/Permissions/Onchain-Permissioning/Onchain-Permissioning.md
  3. 29
      docs/Permissions/Onchain-Permissioning/Production.md
  4. 1
      mkdocs.yml

@ -6,6 +6,9 @@ description: Setting up and using onchain Permissioning
The following steps describe bootstrapping a local permissioned network using a Pantheon node and a
development server to run the Permissioning Management Dapp.
!!! note
In production, a webserver is required to [host the Permissioning Management Dapp](Production.md).
To start a network with onchain permissioning:
1. [Install pre-requisites](#pre-requisites)
@ -13,6 +16,7 @@ To start a network with onchain permissioning:
1. [Set environment variables](#set-environment-variables)
1. [Start first node with onchain permissioning and the JSON-RPC HTTP service enabled](#onchain-permissioning-command-line-options)
1. [Clone the permissioning contracts repository and install dependencies](#clone-contracts-and-install-dependencies)
1. [Build project](#build-project)
1. [Deploy the permissioning contracts](#deploy-contracts)
1. [Start the development server for the Permissioning Management Dapp](#start-the-permissioning-management-dapp)
1. [Add the first node to the nodes whitelist](#update-nodes-whitelist)
@ -101,6 +105,9 @@ to enable onchain nodes permissioning
* [--permissions-nodes-contract-address](../../Reference/Pantheon-CLI-Syntax.md#permissions-nodes-contract-address)
set to the address of the Node Ingress contract in the genesis file (`"0x0000000000000000000000000000000000009999"`)
Start your first node with command line options to enable onchain permissioning and the JSON-RPC HTTP host and port
matching environment variable `PANTHEON_NODE_PERM_ENDPOINT`.
## Clone Project and Install Dependencies
1. Clone the `permissioning-smart-contracts` repository:
@ -139,6 +146,9 @@ The migration logs the addresses of the Admin and Rules contracts.
## Start the Development Server for the Permissioning Management Dapp
!!! note
In production, a webserver is required to [host the Permissioning Management Dapp](Production.md).
1. In the `permissioning-smart-contracts` directory, start the web server serving the Dapp:
```bash

@ -7,7 +7,7 @@ Onchain permissioning uses smart contracts to store and maintain the node, accou
Using onchain permissioning enables all nodes to read the whitelists from a single source, the blockchain.
!!! important
The dependency chain for our implementation of onchain permissioning includes [web3j](https://github.com/web3j/web3j) which is
The dependency chain for our implementation of onchain permissioning includes [web3js](https://github.com/ethereum/web3.js/) which is
LGPL licensed.
## Permissioning Contracts
@ -24,6 +24,10 @@ Node Rules and Account Rules contracts. The Ingress contracts are deployed to st
* Admin - stores the list of admin accounts and admin list operations (for example, add and remove). There is
one list of admin accounts for node and accounts.
!!! note
The permissioning smart contracts are currently in the process of going through a third party audit.
Please [contact us](https://pegasys.tech/contact/) before using in a production environment.
## Permissioning Management Dapp
The [Permissioning Management Dapp](Getting-Started-Onchain-Permissioning.md) is provided to view
@ -37,13 +41,11 @@ and maintain the whitelists.
Permissioning implements three whitelists:
* [Accounts](Getting-Started-Onchain-Permissioning.md#update-accounts-or-admin-accounts-whitelists) can submit
transactions to the network
* Accounts can submit transactions to the network
* [Nodes](Getting-Started-Onchain-Permissioning.md#update-nodes-whitelist) can participate in the network
* Nodes can participate in the network
* [Admins](Getting-Started-Onchain-Permissioning.md#update-accounts-or-admin-accounts-whitelists) are accounts that
can update the accounts and nodes whitelists
* Admins are accounts that can update the accounts and nodes whitelists
## Bootnodes

@ -0,0 +1,29 @@
description: Deploying Permissioning Management Dapp for production
<!--- END of page meta data -->
# Deploying Permissioning Management Dapp for Production
To deploy the Permissioning Management dapp for production:
1. Get the most recent release (tarball or zip) from the [projects release page](https://github.com/PegaSysEng/permissioning-smart-contracts/releases/latest).
1. Unpack the distribution into a directory available to your webserver.
1. In the root of the directory to which the distribution was unpacked, add a file called `config.json` replacing
the placeholders.
```json tab="config.json"
{
"accountIngressAddress": "<Address of the account ingress contract>",
"nodeIngressAddress": "<Address of the node ingress contract>",
"networkId": "<ID of your Ethereum network>"
}
```
1. On your webserver, host the contents of the directory as static files and direct root requests to `index.html`
## Starting a Production Permissioned Network
Follow the procedure as for [Getting Started with Onchain Perissioning](Getting-Started-Onchain-Permissioning.md)
but do not perform the steps using `yarn` to install, build, and start the development server. Instead follow the procedure above to
deploy the Permissioning Management dapp to your webserver.

@ -115,6 +115,7 @@ nav:
- Onchain Permissioning:
- Overview: Permissions/Onchain-Permissioning/Onchain-Permissioning.md
- Getting Started with Onchain Permissioning: Permissions/Onchain-Permissioning/Getting-Started-Onchain-Permissioning.md
- Deploying Management Dapp for Production: Permissions/Onchain-Permissioning/Production.md
- Updating Whitelists: Permissions/Onchain-Permissioning/Updating-Whitelists.md
- Using Pantheon:
- Transactions:

Loading…
Cancel
Save