Skip to content
This repository has been archived by the owner on Feb 18, 2020. It is now read-only.

Commit

Permalink
Improve documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
anxolin committed Jul 17, 2018
1 parent 6156d6b commit 85992c1
Show file tree
Hide file tree
Showing 9 changed files with 59 additions and 52 deletions.
2 changes: 1 addition & 1 deletion source/add-token-pair.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
TODO

For more information, check out:
<a href="_static/docs/DutchX_Handbook_New_Tokens.pdf" download>DutchX for Market Makers</a>
<a href="_static/docs/DutchX_Handbook_New_Tokens.pdf" download>Add new Tokens</a>
19 changes: 19 additions & 0 deletions source/build-on-top-of-dutchx.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Build on top of the DutchX
For folowing this, you should be familiar with:
* Basics about Ethereum network
* Truffle projects
* Node and NPM

**Create your new cool-app**
The easiest way to get started is to create a new node project that depends on
the [dx-contracts](https://github.com/gnosis/dx-contracts/tree/master/contracts)
project.

**DutchX** publish a [NPM package](https://www.npmjs.com/package/@gnosis.pm/dx-contracts) with:
* All the compiled contracts (ABI, meta info, addresses)
* Migration code (useful for `development`)
* Some scripts

So Just follow the steps and create your `cool-app` following the steps
described in this project:
[Build on top of the DutchX](https://github.com/gnosis/dx-example-build-on-top-of-dutchx/tree/master/01_build-of-top-of-dx)
34 changes: 0 additions & 34 deletions source/dev-first-steps.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,3 @@
# Develop on top of DutchX
For folowing this, you should be familiar with:
* Basics about Ethereum network
* Truffle projects
* Node and NPM

## Create your new cool-app
The easiest way to get started is to create a new node project that depends on
the [dx-contracts](https://github.com/gnosis/dx-contracts/tree/master/contracts)
project.

**DutchX** publish a NPM package with:
* All the compiled contracts (ABI, meta info, addresses)
* Migration code (useful for `development`)
* Some scripts

So Just follow the steps and create your `cool-app` out of this example:
[https://github.com/gnosis/dx-example-build-on-top-of-dutchx/tree/master/01_build-of-top-of-dx](https://github.com/gnosis/dx-example-build-on-top-of-dutchx/tree/master/01_build-of-top-of-dx)

## Create your own migrations - Add your own token pair
After you have your `cool-app` as a truffle project that in it's first migration
do the DutchX deployment, we are ready to create our own migrations.

You can add your own migrations for deploying your own contracts, or to invoke
any setup on the DutchX.

To show how simple it is to setup things, we will add our own token pair in the
DutchX.

Just add the folowing migration:
```js

```


## Use the DutchX in your app
TODO: use truffle contract, invoke add token pair, participate auction
Expand Down
2 changes: 1 addition & 1 deletion source/dutchx-as-an-open-platform.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ extract some information from them (for example getting the status of a token
pair).
It can be used in test nets like`rinkeby` or in `mainnet`.
Learn more about the CLI in the guide [Use the CLI](./use-the-cli.html)
* **Bots**: The bots a series of small applications that run in the background
* **Bots**: The bots are series of small applications that run in the background
and have a scoped task to fulfill. They interact with the DutchX performing some
operations. For example the liquidity bots watch some markets and provide
liquidity ensuring the auctions run continuosly and the prices don't drop below
Expand Down
3 changes: 2 additions & 1 deletion source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ check out the :download:`DutchX Documentation <./_static/docs/DutchX_Documentati
:maxdepth: 2
:caption: Developer guides

First steps <dev-first-steps>
build-on-top-of-dutchx
use-dutchx-as-an-oracle
use-the-cli
Add a token pair <add-token-pair>
Run your own bots <run-your-own-bots>
Expand Down
7 changes: 4 additions & 3 deletions source/market-makers.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# Market Makers
The DutchX is an open, decentralized trading protocol for ERC20 tokens using
the Dutch auction mechanism to determine a fair value for tokens.
the Dutch auction mechanism to determine a fair value for the tokens.

Market Makers are a fundamental piece of the DutchX, and they can benefiet from
Market Makers are a fundamental piece of the DutchX, and they can benefit from
all the advantages that the DutchX can offer.

For more information, check out:
<a href="_static/docs/DutchX_Market_Makers.pdf" download>DutchX for Market Makers</a>

Also, if you are a Market Maker, you might be interested in:
* [DutchX as an open platform](dutchx-as-an-open-platform.html)
* [Add a trading token pair to DutchX](./add-token-pair.html)
* [DutchX as an open platform](./dutchx-as-an-open-platform.html)
* [Run your own bots](./run-your-own-bots.html)
6 changes: 3 additions & 3 deletions source/run-your-own-bots.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Run your own bots for DutchX
The bots a series of small applications that run in the background and have a
The bots are series of small applications that run in the background and have a
scoped task to fulfill.

They interact with the DutchX performing someo perations.
They interact with the DutchX performing some operations.

For example the liquidity bots watch some markets and provide liquidity ensuring
For example the **liquidity bots** watch some markets and provide liquidity ensuring
the auctions run continuosly and the prices don't drop below market price.

Running the bots is important for markets were there's insufficient volume or a
Expand Down
26 changes: 17 additions & 9 deletions source/security-of-the-contracts.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,29 @@ Security was the main focus on the design and implementation of the DutchX.

The mechanism are desing to solve the problems of other exchanges (centralized
and not centralized ones) so there are not parties taking advantage and
profiting out of the users. The result is a fare echange of tokens were all
users play under the same rules.
profiting out of the users.

The result is a fare echange of tokens were all users play under the same rules.

The smart contract's code was submited to:
* Constant internal audits within it's construction
* A thourough external audit by Solidify ([https://solidified.io/](https://solidified.io/))
* Several auditors review the code in paralel in an isolated review. Then they
* **Internal audits**:
* The code is open source and public for anyone to review.
* During the construction, it was subjected to constant internal audits
peer reviews, and unit testing.
* **External audit**: A thourough external audit by Solidify ([https://solidified.io/](https://solidified.io/))
* Three auditors reviewed the code in parallel in an isolated review. Then they
compare the findings and come to a group consensus. Then the final report
is done, and over some iterations all the risks are mitigated.
* Check out the <a hred="./_static/docs/Solidified_Audit_Report.pdf">Solidify Audit Report</a>.
* Check this post to learn how was the proccess:
[https://medium.com/solidified/securing-gnosis-dutch-exchange-smart-contracts-a-case-study-65c3dcc0ed0b](https://medium.com/solidified/securing-gnosis-dutch-exchange-smart-contracts-a-case-study-65c3dcc0ed0b)
* Check this post <a hred="https://medium.com/solidified/securing-gnosis-dutch-exchange-smart-contracts-a-case-study-65c3dcc0ed0b" target="_blank">Securing Gnosis’ Dutch exchange smart contracts — a case study</a> to learn how was the proccess.

* **Bug bounty**:
* As suggested by the auditors, it was created a Bug bounty program with
genereous prizes for finding bugs and specially security risks.
* Check the post <a hred="https://blog.gnosis.pm/gnosis-dutchx-and-initial-owl-generation-bug-bounty-71ba53dfd2db" target="_blank">Gnosis DutchX and Initial OWL Generation Bug Bounty</a> for more information.

The DutchX is a non-custodial trading protocol.
Your funds are only ever held in audited smart contracts.
The DutchX is a non-custodial trading protocol. Your funds are only held in
the audited smart contracts.

There still is a public bug bounty running and no bugs have been discovered.

Expand Down
12 changes: 12 additions & 0 deletions source/use-dutchx-as-an-oracle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Use DutchX as an Oracle
For starting this guide, you should be familiar already on
[Build on top of the DutchX](./build-on-top-of-dutchx.html).

Once you know how to create a project that depends on the DutchX, and you know
how to migrate the contracts for local development, we are ready to use the
contract from our project.

One simple use of the DutchX can be to use it as a onchain price oracle.

Learn how to get the price for any token pair from the DutchX following the
steps described in this project [Use DutchX as an Oracle](https://github.com/gnosis/dx-example-build-on-top-of-dutchx/tree/master/02_use-dx-as-an-oracle)

0 comments on commit 85992c1

Please sign in to comment.