Merge branch 'master' into feature/faucet

This commit is contained in:
Matthias Kretschmann 2019-09-11 14:02:35 +02:00 committed by GitHub
commit 813c8ecc40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 131 additions and 13 deletions

View File

@ -45,7 +45,7 @@ cd barge
./start_ocean.sh
```
That will run the current default versions of Aquarius, Brizo, Pleuston, Keeper Contracts, and Faucet. It will also run a local Spree network (i.e. `--local-spree-node`).
That will run the current default versions of Aquarius, Brizo, Events Handler, Pleuston, Keeper Contracts, and Faucet. It will also run a local Spree network (i.e. `--local-spree-node`).
<img width="486" alt="Welcome to Ocean Protocol" src="Welcome_to_Ocean_Protocol.png">
@ -57,15 +57,15 @@ docker system prune --all --volumes
## Options
The startup script comes with a set of options for customizing variou things.
The startup script comes with a set of options for customizing various things.
### Component Versions
The default versions are always a combination of component versions which are considered stable.
| Aquarius | Brizo | Keeper | Pleuston | Faucet |
| -------- | --------- | --------- | -------- | -------- |
| `v0.3.8` | `v0.3.14` | `v0.12.0` | `v0.5.1` | `v0.3.1` |
| Aquarius | Brizo | Events Handler | Keeper | Pleuston | Faucet |
| -------- | --------- | -------------- | --------- | -------- | -------- |
| `v0.3.8` | `v0.4.2` | `v0.1.2` | `v0.11.1` | `v0.5.1` | `v0.3.1` |
You can use the `--latest` option to pull the most recent Docker images for all components, which are always tagged as `latest` in Docker. The `latest` Docker image tag derives from the default main branch of the component's Git repo.
@ -73,6 +73,7 @@ You can override the Docker image tag used for a particular component by setting
- `AQUARIUS_VERSION`
- `BRIZO_VERSION`
- `EVENTS_HANDLER_VERSION`
- `KEEPER_VERSION`
- `PLEUSTON_VERSION`
- `FAUCET_VERSION`
@ -96,6 +97,7 @@ will use the default Docker image tags for Aquarius, Keeper Contracts and Pleust
| `--no-pleuston` | Start up Ocean without the `pleuston` Building Block. Helpful for development on `pleuston`. |
| `--no-aquarius` | Start up Ocean without the `aquarius` Building Block. |
| `--no-brizo` | Start up Ocean without the `brizo` Building Block. |
| `--no-events-handler` | Start up Ocean without the `events-handler` Building Block. |
| `--no-secret-store` | Start up Ocean without the `secret-store` Building Block. |
| `--no-faucet` | Start up Ocean without the `faucet` Building Block. |
| `--mongodb` | Start up Ocean with MongoDB as DB engine for Aquarius instead of Elasticsearch. |
@ -145,6 +147,14 @@ By default it will start one container. This Building Block can be disabled by s
| -------- | ------------- | ----------------- | --------------------- | ----------------------------------------------- |
| `brizo` | `8030` | http://brizo:8030 | http://localhost:8030 | [Brizo](https://github.com/oceanprotocol/brizo) |
### Events Handler
By default it will start one container. This Building Block can be disabled by setting the `--no-events-handler` flag.
| Hostname | External Port | Internal URL | Local URL | Description |
| ----------------- | ------------- | ----------------- | --------------------- | -------------------------------------------------------------------- |
| `events-handler` | | | | [Events-handler](https://github.com/oceanprotocol/events-handler-py) |
### Keeper Node
Controlled by the `--local-*-node` config switches will start a container `keeper-node` that uses port `8545` to expose an rpc endpoint to the Ethereum Protocol.
@ -205,7 +215,11 @@ you will have available a keeper node in the local and private Spree Network wit
| `0xe08A1dAe983BC701D05E492DB80e0144f8f4b909` | mnemonic | [info here](#spree-mnemonic) | 1000000000 Ether |
| `0xbcE5A3468386C64507D30136685A99cFD5603135` | mnemonic | [info here](#spree-mnemonic) | 1000000000 Ether |
Use one of the above accounts to populate `PARITY_ADDRESS` and `PARITY_PASSWORD` in `brizo.env` file to avoid account `locked` issues from the keeper contracts.
Use one of the above accounts to populate `PROVIDER_ADDRESS`, `PROVIDER_PASSWORD` and `PROVIDER_KEYFILE` in `start_ocean.sh`.
This account will is used in `brizo` and `events-handler` as the `provider` account which is important for processing the
service agreements flow. The `PROVIDER_KEYFILE` must be placed in the `accounts` folder and must match the ethereum
address from `PROVIDER_ADDRESS`. The `PROVIDER_ADDRESS` is also set in `pleuston` instance so that published assets get
assigned the correct provider address.
### Spree Mnemonic

22
accounts/provider.json Executable file
View File

@ -0,0 +1,22 @@
{
"id": "50aa801a-8d66-1402-1fa4-d8987868c2ce",
"version": 3,
"crypto": {
"cipher": "aes-128-ctr",
"cipherparams": {
"iv": "a874e6fe50a5bb088826c45560dc1b7e"
},
"ciphertext": "2383c6aa50c744b6558e77b5dcec6137f647c81f10f71f22a87321fd1306056c",
"kdf": "pbkdf2",
"kdfparams": {
"c": 10240,
"dklen": 32,
"prf": "hmac-sha256",
"salt": "eca6ccc9fbb0bdc3a516c7576808ba5031669e6878f3bb95624ddb46449e119c"
},
"mac": "14e9a33a45ae32f88a0bd5aac14521c1fcf14f56fd55c1a1c080b2f81ddb8d44"
},
"address": "068ed00cf0441e4829d9784fcbe7b9e26d4bd8d0",
"name": "",
"meta": "{}"
}

View File

@ -17,7 +17,11 @@ services:
PARITY_URL: ${SIGNING_NODE_URL}
LOCAL_CONTRACTS: ${KEEPER_DEPLOY_CONTRACTS}
SECRET_STORE_URL: ${SECRET_STORE_URL}
PARITY_ADDRESS: ${PUBLISHER_ADDRESS}
PARITY_PASSWORD: ${PUBLISHER_PASSWORD}
PROVIDER_ADDRESS: ${PROVIDER_ADDRESS}
PROVIDER_PASSWORD: ${PROVIDER_PASSWORD}
PROVIDER_KEYFILE: ${PROVIDER_KEYFILE}
LOG_LEVEL: ${BRIZO_LOG_LEVEL}
BRIZO_WORKERS: ${BRIZO_WORKERS}
volumes:
- ${KEEPER_ARTIFACTS_FOLDER}:/usr/local/keeper-contracts:ro
- ${ACCOUNTS_FOLDER}:/accounts

View File

@ -0,0 +1,21 @@
version: '3'
services:
events-handler:
image: oceanprotocol/events-handler-py:$EVENTS_HANDLER_VERSION
networks:
backend:
ipv4_address: 172.15.0.22
depends_on:
- keeper-node
environment:
KEEPER_URL: ${KEEPER_RPC_URL}
PARITY_URL: ${SIGNING_NODE_URL}
SECRET_STORE_URL: ${SECRET_STORE_URL}
PROVIDER_ADDRESS: ${PROVIDER_ADDRESS}
PROVIDER_PASSWORD: ${PROVIDER_PASSWORD}
PROVIDER_KEYFILE: ${PROVIDER_KEYFILE}
LOCAL_CONTRACTS: ${KEEPER_DEPLOY_CONTRACTS}
LOG_LEVEL: ${EVENTS_HANDLER_LOG_LEVEL}
volumes:
- ${KEEPER_ARTIFACTS_FOLDER}:/usr/local/keeper-contracts:ro
- ${ACCOUNTS_FOLDER}:/accounts

View File

@ -14,6 +14,6 @@ services:
environment:
LOCAL_CONTRACTS: ${KEEPER_DEPLOY_CONTRACTS}
REACT_APP_AQUARIUS_URI: ${AQUARIUS_URI}
REACT_APP_BRIZO_ADDRESS: ${PUBLISHER_ADDRESS}
REACT_APP_BRIZO_ADDRESS: ${PROVIDER_ADDRESS}
volumes:
- ${KEEPER_ARTIFACTS_FOLDER}:/pleuston/node_modules/@oceanprotocol/keeper-contracts/artifacts/:ro

View File

@ -0,0 +1,22 @@
{
"id": "0902d04b-f26e-5c1f-e3ae-78d2c1cb16e7",
"version": 3,
"crypto": {
"cipher": "aes-128-ctr",
"cipherparams": {
"iv": "6a829fe7bc656d85f6c2e9fd21784952"
},
"ciphertext": "1bfec0b054a648af8fdd0e85662206c65a4af0ed15fede4ad41ca9ab7b504ce2",
"kdf": "pbkdf2",
"kdfparams": {
"c": 10240,
"dklen": 32,
"prf": "hmac-sha256",
"salt": "95f96b5ee22dd537e06076eb8d7078eb7275d29af935782fe476696b11be50e5"
},
"mac": "4af2215c3cd9447a5b0512d7d1c3ea5a4435981e1c8f48bf71d7a49c0e5b4986"
},
"address": "00bd138abd70e2f00903268f3db08f2d25677c9e",
"name": "Validator0",
"meta": "{}"
}

View File

@ -0,0 +1,22 @@
{
"id": "0902d04b-f26e-5c1f-e3ae-78d2c1cb16e7",
"version": 3,
"crypto": {
"cipher": "aes-128-ctr",
"cipherparams": {
"iv": "6a829fe7bc656d85f6c2e9fd21784952"
},
"ciphertext": "1bfec0b054a648af8fdd0e85662206c65a4af0ed15fede4ad41ca9ab7b504ce2",
"kdf": "pbkdf2",
"kdfparams": {
"c": 10240,
"dklen": 32,
"prf": "hmac-sha256",
"salt": "95f96b5ee22dd537e06076eb8d7078eb7275d29af935782fe476696b11be50e5"
},
"mac": "4af2215c3cd9447a5b0512d7d1c3ea5a4435981e1c8f48bf71d7a49c0e5b4986"
},
"address": "00bd138abd70e2f00903268f3db08f2d25677c9e",
"name": "Validator0",
"meta": "{}"
}

View File

@ -14,8 +14,9 @@ COMPOSE_DIR="${DIR}/compose-files"
# Default versions of Aquarius, Brizo, Keeper Contracts and Pleuston
export AQUARIUS_VERSION=${AQUARIUS_VERSION:-v0.3.8}
export BRIZO_VERSION=${BRIZO_VERSION:-v0.3.14}
export KEEPER_VERSION=${KEEPER_VERSION:-v0.12.0}
export BRIZO_VERSION=${BRIZO_VERSION:-v0.4.2}
export EVENTS_HANDLER_VERSION=${EVENTS_HANDLER_VERSION:-v0.1.2}
export KEEPER_VERSION=${KEEPER_VERSION:-v0.11.1}
export PLEUSTON_VERSION=${PLEUSTON_VERSION:-v0.5.1}
export FAUCET_VERSION=${FAUCET_VERSION:-v0.3.1}
@ -63,10 +64,16 @@ export DB_CLIENT_KEY=""
export DB_CLIENT_CERT=""
CHECK_ELASTIC_VM_COUNT=true
export BRIZO_WORKERS=${BRIZO_WORKERS:-5}
export BRIZO_LOG_LEVEL="INFO"
export EVENTS_HANDLER_LOG_LEVEL="INFO"
# Set a valid parity address and password to have seamless interaction with the `keeper`
# it has to exist on the secret store signing node and as well on the keeper node
export PUBLISHER_ADDRESS=0x068ed00cf0441e4829d9784fcbe7b9e26d4bd8d0
export PUBLISHER_PASSWORD=secret
export PROVIDER_ADDRESS=0x068ed00cf0441e4829d9784fcbe7b9e26d4bd8d0
export PROVIDER_PASSWORD=secret
export PROVIDER_KEYFILE="/accounts/provider.json"
export ACCOUNTS_FOLDER="../accounts"
export SECRET_STORE_URL=http://secret-store:12001
export SIGNING_NODE_URL=http://secret-store-signing-node:8545
@ -155,6 +162,7 @@ COMPOSE_FILES+=" -f ${COMPOSE_DIR}/network_volumes.yml"
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/pleuston.yml"
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/aquarius_elasticsearch.yml"
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/brizo.yml"
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/events_handler.yml"
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/secret_store.yml"
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/secret_store_signing_node.yml"
COMPOSE_FILES+=" -f ${COMPOSE_DIR}/faucet.yml"
@ -176,6 +184,7 @@ while :; do
--latest)
export AQUARIUS_VERSION="latest"
export BRIZO_VERSION="latest"
export EVENTS_HANDLER_VERSION="latest"
export KEEPER_VERSION="latest"
# TODO: Change label on Docker to refer `latest` to `master`
export PLEUSTON_VERSION="master"
@ -193,6 +202,10 @@ while :; do
COMPOSE_FILES="${COMPOSE_FILES/ -f ${COMPOSE_DIR}\/pleuston.yml/}"
printf $COLOR_Y'Starting without Pleuston...\n\n'$COLOR_RESET
;;
--no-events-handler)
COMPOSE_FILES="${COMPOSE_FILES/ -f ${COMPOSE_DIR}\/events_handler.yml/}"
printf $COLOR_Y'Starting without EventsHandler...\n\n'$COLOR_RESET
;;
--no-brizo)
COMPOSE_FILES="${COMPOSE_FILES/ -f ${COMPOSE_DIR}\/brizo.yml/}"
printf $COLOR_Y'Starting without Brizo...\n\n'$COLOR_RESET