Skip to content
This repository has been archived by the owner on Sep 26, 2019. It is now read-only.

Added content on deploying for production #1774

Merged
merged 35 commits into from
Jul 29, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
0ed474b
WIP
MadelineMurray Jun 13, 2019
0cd240a
WIP
MadelineMurray Jun 15, 2019
0bb7329
WIP:
MadelineMurray Jun 16, 2019
8e1cc0e
WIP
MadelineMurray Jun 29, 2019
3329412
Merge branch 'master' of https://github.com/PegaSysEng/pantheon into …
MadelineMurray Jun 29, 2019
d9d7716
Ready for review
MadelineMurray Jun 29, 2019
4edbf16
WIP
MadelineMurray Jul 12, 2019
3bd6f8d
WIP
MadelineMurray Jul 13, 2019
236afe8
Merge branch 'master' of https://github.com/PegaSysEng/pantheon into …
MadelineMurray Jul 15, 2019
7f58702
Merge branch 'master' of https://github.com/PegaSysEng/pantheon into …
MadelineMurray Jul 21, 2019
0787fe8
Added overview of privacy methods
MadelineMurray Jul 21, 2019
e99111d
Added method overviews
MadelineMurray Jul 21, 2019
c46761a
Reorganised privacy section
MadelineMurray Jul 21, 2019
e261569
Moved files
MadelineMurray Jul 22, 2019
12c3568
Rework
MadelineMurray Jul 22, 2019
a5ffe15
Merge branch 'privacyReorg' of https://github.com/MadelineMurray/pant…
MadelineMurray Jul 22, 2019
9834dde
Merge branch 'MadelineMurray-privacyReorg'
MadelineMurray Jul 22, 2019
f55ff08
Merge branch 'master' of https://github.com/PegaSysEng/pantheon into …
MadelineMurray Jul 22, 2019
da054a5
Merge branch 'MadelineMurray-privacyReorg'
MadelineMurray Jul 22, 2019
1ca598f
Merge branch 'managingPrivateTransactions' of https://github.com/Made…
MadelineMurray Jul 22, 2019
7e1f705
rework
MadelineMurray Jul 22, 2019
4acf168
Merge branch 'MadelineMurray-managingPrivateTransactions'
MadelineMurray Jul 22, 2019
2058cbd
Merge branch 'master' of https://github.com/PegaSysEng/pantheon
MadelineMurray Jul 23, 2019
1a86c07
Merge branch 'eeajsMethods' of https://github.com/MadelineMurray/pant…
MadelineMurray Jul 24, 2019
9319b04
Merge branch 'MadelineMurray-eeajsMethods'
MadelineMurray Jul 24, 2019
fcd5f38
fix conflict
MadelineMurray Jul 24, 2019
6d4f152
Merge branch 'master' of https://github.com/PegaSysEng/pantheon
MadelineMurray Jul 25, 2019
ba57ea5
Merge branch 'master' of https://github.com/PegaSysEng/pantheon
MadelineMurray Jul 26, 2019
76b0b30
Merge branch 'master' of https://github.com/PegaSysEng/pantheon
MadelineMurray Jul 26, 2019
eab21b9
Merge branch 'master' of https://github.com/PegaSysEng/pantheon
MadelineMurray Jul 27, 2019
14a2338
Added deployment for production
MadelineMurray Jul 28, 2019
e2abc8e
Merge branch 'master' into permServerUpdates
usmansaleem Jul 29, 2019
1471abd
rework
MadelineMurray Jul 29, 2019
43b9259
Merge branch 'permServerUpdates' of https://github.com/MadelineMurray…
MadelineMurray Jul 29, 2019
c580dd9
Merge branch 'master' into permServerUpdates
MadelineMurray Jul 29, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,17 @@ 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)
1. [Add the ingress contracts to the genesis file](#add-ingress-contracts-to-genesis-file)
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)
Expand Down Expand Up @@ -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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Start your first node with command line options to enable onchain permissioning, the JSON-RPC HTTP host, and...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The JSON-RPC host and port must match the environment variable so leaving the and where it is.

matching environment variable `PANTHEON_NODE_PERM_ENDPOINT`.

## Clone Project and Install Dependencies

1. Clone the `permissioning-smart-contracts` repository:
Expand Down Expand Up @@ -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
Expand Down
14 changes: 8 additions & 6 deletions docs/Permissions/Onchain-Permissioning/Onchain-Permissioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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

Expand Down
29 changes: 29 additions & 0 deletions docs/Permissions/Onchain-Permissioning/Production.md
Original file line number Diff line number Diff line change
@@ -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)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Follow the procedure for...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/Perissioning/Permissioning

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.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down