1
0
mirror of https://github.com/oceanprotocol/barge.git synced 2024-11-29 07:16:19 +01:00
barge/README.md
Sebastian Gerske f2d37b4a00 update readme
2018-10-26 09:33:56 +02:00

5.4 KiB

banner

docker-images

🐳 Docker compose and tools running the complete Ocean Protocol network stack. oceanprotocol.com


🐲🦑 THERE BE DRAGONS AND SQUIDS. This is in alpha state and you can expect running into problems. If you run into them, please open up a new issue. 🦑🐲


Table of Contents


Prerequisites

You need to have the newest versions available of both:

Get Started

Then bring up an instance of the whole Ocean Protocol network stack with the start_ocean.sh script:

git clone git@github.com:oceanprotocol/docker-images.git
cd docker-images/

./start_ocean.sh
screen shot 2018-10-10 at 12 20 48

This will bring up the stable versions of all components, referring to their respective master branches.

To get the latest versions of all components, referring to their develop branches, pass the argument --latest:

./start_ocean.sh --latest

After getting everything running, you can open the Pleuston Frontend application in your browser:

http://localhost:3000

Script Options

The script provides the following options:

Option Description
--latest Get the latest versions of all components, referring to their develop branches.
--no-pleuston Start up Ocean without an instance of pleuston. Helpful for development on pleuston.
--local-parity-node Runs a local parity POA node instead of ganache-cli.
--reuse-database Start up Ocean and reuse the Database from ganache. Helpful for development.

Ocean Protocol components

The Ocean Docker compose starts the following components:

Ocean Protocol Components

Environment Variables

The start_ocean.sh script sets defaults for the following environment variables but you can use these in combination with the Docker Compose files for further customization, e.g.:

export REUSE_DATABASE="true"
docker-compose --project-name=ocean -f docker-compose-no-pleuston.yml up
Variable Description
REUSE_DATABASE The keeper-contracts component runs with ganache by default and every run will produce and deploy new instances of the keeper contracts. Ganache can be run with a specific database path by setting the env var REUSE_DATABASE to "true". By default, the ganache database will be setup in the cwd.
DEPLOY_CONTRACTS skip deploying smart contracts by setting this to "false", in this case REUSE_DATABASE should be set to "true" in the previous run when using ganache
KEEPER_NETWORK_NAME set to one of "ganache" (default), "kovan", or "ocean_poa_net_local"
ARTIFACTS_FOLDER this is where the deployed smart contracts abi files will be available. This can be pointed at any path you like.

A subset of the components can be run by modifying the docker-compose file directly or by using one of the other pre-built compose files:

Compose file Description
docker-compose-no-pleuston.yml runs all components without the pleuston. This is useful for developing/debugging the front-end app. So first the docker compose container can be started then pleuston can be started separately from source. You can also use ./start_ocean.sh --no-pleuston to do this
docker-compose-local-parity-node.yml similar to the above with no pleuston, but runs a local parity POA node instead of ganache-cli. You can also use ./start_ocean.sh --local-parity-node instead

Contributing

We use GitHub as a means for maintaining and tracking issues and source code development.

If you would like to contribute, please fork this repository, do work in a feature branch, and finally open a pull request for maintainers to review your changes.

Ocean Protocol uses C4 Standard process to manage changes in the source code. Find here more details about Ocean C4 OEP.

License

Copyright 2018 Ocean Protocol Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.