Skip to content
This repository has been archived by the owner on Oct 31, 2024. It is now read-only.
Jacob Evans edited this page Jun 3, 2019 · 18 revisions

Below is the list of frequently asked questions. Please read through these before creating a new issue.

Relayer Strategy

The current version of 0x-launch-kit uses the Open Orderbook Relayer Strategy. At a high level this strategy is like a bulletin board, where users create, and take orders and submit them directly to the blockchain. There is no automatic matching engine involved.

There are alternative strategies that can be built ontop of 0x protocol, these will require modification to 0x-launch-kit. In the future we plan to also support the Coordinator strategy.

Minimum System Requirements

The build phase of the containers is memory hungry and can consume up to 3GB of memory. The minimum system requirements should cater for this and offer a minimum of 4GB of memory for the build phase. Launch-kit has been successfully built and deployed on t2.medium instances on AWS. Launch-kit is capable of running pre-built containers on t2.small.

Nginx Error / Website not loading

The containers create an optimised production ready front end. This takes some time on the first build and is relatively resource intensive. During the build process Nginx may return an error (403) and the website will not be available. After the build is complete the website will be available as described. The output of the build process may be hidden by other logs, to ensure this is complete run docker-compose logs -f frontend.

Adding a custom token

Currently adding a new custom token requires building the containers from scratch. To do so, you must clone the Front end and the backend repositories.

For example, let's say we wish to add a new token called DEKZ.

Firstly add the token symbol to the types.ts file:

export enum TokenSymbol {
    Weth = 'weth',
    Zrx = 'zrx',
    Dai = 'dai',
    Mkr = 'mkr',
    Rep = 'rep',
    Dgd = 'dgd',
    Mln = 'mln',
    Dekz = 'dekz', // Note the usage of lowercase here
}

Add to the list of Known tokens in the tokens_meta_data.ts file:

export const KNOWN_TOKENS_META_DATA: TokenMetaData[] = [
    {
        decimals: 18,
        symbol: TokenSymbol.Weth,
        name: 'Wrapped Ether',
        primaryColor: '#3333ff',
        addresses: {
            1: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
            4: '0xc778417e063141139fce010982780140aa0cd5ab',
            42: '0xd0a1e359811322d97991e03f863a0c30c2cf029c',
            50: '0x0b1ba0af832d7c05fd64161e0db78e85978e8082',
        },
    },
    {
        decimals: 18,
        symbol: TokenSymbol.Dekz,
        name: 'Dekz',
        primaryColor: '#E1AA3E',
        addresses: {
            1: 'MAINNET ADDRESS',
            42: 'KOVAN ADDRESS',
            50: 'GANACHE ADDRESS',
        },
    },
...
}

Add it to the available markets file markets.ts:

export const availableMarkets: CurrencyPair[] = [
    {
        base: TokenSymbol.Dai,
        quote: TokenSymbol.Weth,
    },
    {
        base: TokenSymbol.Dai,
        quote: TokenSymbol.Zrx,
    },
    {
        base: TokenSymbol.Weth,
        quote: TokenSymbol.Dai,
    },
    {
        base: TokenSymbol.Dekz,
        quote: TokenSymbol.Weth,
    },
    {
        base: TokenSymbol.Dai,
        quote: TokenSymbol.Dekz,
    },
];
Clone this wiki locally