1
0
mirror of https://github.com/oceanprotocol/docs.git synced 2024-11-26 19:49:26 +01:00
docs/content/setup/marketplace.md

61 lines
3.2 KiB
Markdown
Raw Normal View History

2018-11-07 12:24:53 +01:00
---
2018-11-07 15:51:17 +01:00
title: Set Up a Marketplace
description: Set up and run a data marketplace in the Ocean network.
2018-11-07 12:24:53 +01:00
---
If you want to set up and run a marketplace in the Ocean network, then at a technical level, you must:
1. Develop a marketplace application (app).
2. Run your marketplace app in production.
**Note: In the early days of the Ocean network, there won't be many marketplaces or publishers, so marketplaces will often also act as publishers.**
## Develop a Marketplace App
An Ocean marketplace app is one of the primary ways that end users use the Ocean network. For example, a data scientist could use a marketplace app to see what data sets and data services (data assets) a marketplace has on offer. They can use the marketplace app to buy access to assets. Publishers make those data assets available.
### Easiest Option: Fork Pleuston
[Pleuston](https://github.com/oceanprotocol/pleuston) is a reference marketplace app written in JavaScript, using React and squid-js (which is like a JavaScript SDK for Ocean).
Pleuston has an Apache v2 license, so you can fork it to make your own Ocean marketplace.
This option is straightforward because you can follow the dev process used by the Pleuston devs. They already have a Docker Compose setup that runs all the other Ocean components needed for testing a marketplace, e.g. Aquarius, a database for Aquarius, a local Parity Ethereum node, and Brizo.
Note that Pleuston is a "serverless" app: it runs entirely in the browser and has no server-side component.
<repo name="pleuston"></repo>
### Other Options for Developing a Marketplace App
There are many ways to create an ocean marketplace app. For example, you could use one of the existing e-commerce platforms and frameworks (e.g. WooCommerce, Magento, Shopify). Or you could use a lower-level framework like Django or Vue.js. The main consideration is that you should probably use a programming language with an existing Squid library.
<repo name="squid-js"></repo>
<repo name="squid-py"></repo>
<repo name="squid-java"></repo>
2018-11-09 18:14:40 +01:00
Note: There are examples of how to use squid-py in the [Tutorials](/tutorials/introduction/). squid-py is to Ocean like boto3 is to AWS.
Of course, you could always write your own Squid library in the language of your choice. A squid-java library is in development.
2018-11-09 18:14:40 +01:00
## Run Your Marketplace App in Production
Before running your marketplace app in production on the Ocean Mainnet, you may want to test it on the Ocean Testnet.
The Ocean Testnet is similar to the Ocean Mainnet.
The main difference is that there is less risk on the Ocean Testnet.
**Note: At the time of writing, the Ocean Mainnet hadn't gone live yet, but the Trilobite Testnet was about to go live.**
Some technical differences between local testing and connecting to a live external test/mainnet are:
- Local Keeper nodes (Parity user nodes) must connect to the live network of Keepers.
- Your Aquarius and Brizo instances must connect to the live Ocean Secret Store network.
Of course, there are many other things that must be handled for live production apps:
- Security of the infrastructure where the software is running
- Monitoring
- Log aggregation, storage and search
- Handling crashes or other faults
Each of those is a big topic beyond the scope of these docs.