Merge pull request #284 from 0xProject/feature/newAndImprovedReadmes

Improve/Add to README's
This commit is contained in:
Fabio Berger 2017-12-20 15:14:04 +01:00 committed by GitHub
commit 439fe10e1e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 234 additions and 45 deletions

View File

@ -22,21 +22,83 @@ This repository contains all the 0x developer tools written in TypeScript. Our h
| Package | Version | Description |
|---------|---------|-------------|
| [`0x.js`](/packages/0x.js) | [![npm](https://img.shields.io/npm/v/0x.js.svg)](https://www.npmjs.com/package/0x.js) | A Javascript library for interacting with the 0x protocol |
| [`@0xproject/abi-gen`](/packages/abi-gen) | [![npm](https://img.shields.io/npm/v/@0xproject/abi-gen.svg)](https://www.npmjs.com/package/@0xproject/abi-gen) | Tool to generate TS code from ABI |
| [`@0xproject/assert`](/packages/assert) | [![npm](https://img.shields.io/npm/v/@0xproject/assert.svg)](https://www.npmjs.com/package/@0xproject/assert) | Standard type and schema assertions |
| [`@0xproject/abi-gen`](/packages/abi-gen) | [![npm](https://img.shields.io/npm/v/@0xproject/abi-gen.svg)](https://www.npmjs.com/package/@0xproject/abi-gen) | Tool to generate TS wrappers from smart contract ABIs |
| [`@0xproject/assert`](/packages/assert) | [![npm](https://img.shields.io/npm/v/@0xproject/assert.svg)](https://www.npmjs.com/package/@0xproject/assert) | Type and schema assertions used by our packages |
| [`@0xproject/connect`](/packages/connect) | [![npm](https://img.shields.io/npm/v/@0xproject/connect.svg)](https://www.npmjs.com/package/@0xproject/connect) | A Javascript library for interacting with the standard relayer api |
| [`@0xproject/json-schemas`](/packages/json-schemas) | [![npm](https://img.shields.io/npm/v/@0xproject/json-schemas.svg)](https://www.npmjs.com/package/@0xproject/json-schemas) | 0x-related json schemas |
| [`@0xproject/subproviders`](/packages/subproviders) | [![npm](https://img.shields.io/npm/v/@0xproject/subproviders.svg)](https://www.npmjs.com/package/@0xproject/subproviders) | Web3 subproviders |
| [`@0xproject/tslint-config`](/packages/tslint-config) | [![npm](https://img.shields.io/npm/v/@0xproject/tslint-config.svg)](https://www.npmjs.com/package/@0xproject/tslint-config) | Custom 0x project TSLint rules |
| [`@0xproject/types`](/packages/types) | [![npm](https://img.shields.io/npm/v/@0xproject/types.svg)](https://www.npmjs.com/package/@0xproject/types) | Shared types |
| [`@0xproject/utils`](/packages/utils) | [![npm](https://img.shields.io/npm/v/@0xproject/utils.svg)](https://www.npmjs.com/package/@0xproject/utils) | Shared utils |
| [`@0xproject/subproviders`](/packages/subproviders) | [![npm](https://img.shields.io/npm/v/@0xproject/subproviders.svg)](https://www.npmjs.com/package/@0xproject/subproviders) | Useful web3 subproviders (e.g LedgerSubprovider) |
| [`@0xproject/tslint-config`](/packages/tslint-config) | [![npm](https://img.shields.io/npm/v/@0xproject/tslint-config.svg)](https://www.npmjs.com/package/@0xproject/tslint-config) | Custom 0x development TSLint rules |
| [`@0xproject/types`](/packages/types) | [![npm](https://img.shields.io/npm/v/@0xproject/types.svg)](https://www.npmjs.com/package/@0xproject/types) | Shared type declarations |
| [`@0xproject/utils`](/packages/utils) | [![npm](https://img.shields.io/npm/v/@0xproject/utils.svg)](https://www.npmjs.com/package/@0xproject/utils) | Shared utilities |
| [`@0xproject/web3-wrapper`](/packages/web3-wrapper) | [![npm](https://img.shields.io/npm/v/@0xproject/web3-wrapper.svg)](https://www.npmjs.com/package/@0xproject/web3-wrapper) | Web3 wrapper |
### Private Packages
| Package | Description |
|---------|-------------|
| [`@0xproject/contracts`](/packages/contracts) | Smart contracts |
| [`@0xproject/contracts`](/packages/contracts) | 0x solidity smart contracts & tests |
| [`@0xproject/kovan_faucets`](/packages/kovan-faucets) | A faucet micro-service that dispenses test ERC20 tokens or Ether |
| [`@0xproject/monorepo-scripts`](/packages/monorepo-scripts) | Shared monorepo scripts |
| [`@0xproject/website`](/packages/website) | 0x website |
| [`@0xproject/website`](/packages/website) | 0x website & Portal DApp |
## Usage
Dedicated documentation pages:
- [0x.js Library](https://0xproject.com/docs/0xjs)
- [0x Connect](https://0xproject.com/docs/connect)
- [Smart contracts](https://0xproject.com/docs/contracts)
- [Standard Relayer API](https://github.com/0xProject/standard-relayer-api/blob/master/README.md)
## Contributing
We strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.
Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started.
### Install dependencies
If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
```bash
yarn config set workspaces-experimental true
```
Then install dependencies
```bash
yarn install
```
### Build
Build all packages
```bash
yarn lerna:run build
```
### Lint
Lint all packages
```bash
yarn lerna:run lint
```
### Run Tests
Before running the tests, you will need to spin up a [TestRPC](https://www.npmjs.com/package/ethereumjs-testrpc) instance and deploy all the 0x smart contracts.
In a separate terminal, start TestRPC (a convenience command is provided as part of this repo)
```bash
yarn testrpc
```
Then in your main terminal run
```
cd packages/contracts
yarn migrate
cd ..
```
And finally from the root project directory run
```bash
yarn lerna:run test
```

View File

@ -0,0 +1,51 @@
Mono repo scripts
------
This repository contains a few helpful scripts for working with this mono repo.
## Usage
#### Dependency versions
In order to reduce the size of this repo, we try and use the same versions of dependencies between packages. To make it easier to discover version discrepancies between packages, you can run:
```bash
yarn deps_versions
```
This will list out any dependencies that differ in versions between packages.
## Contributing
We strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.
Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started.
### Install Dependencies
If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
```bash
yarn config set workspaces-experimental true
```
Then install dependencies
```bash
yarn install
```
### Build
```bash
yarn build
```
### Clean
```bash
yarn clean
```
### Lint
```bash
yarn lint
```

View File

@ -1,15 +1,33 @@
Subproviders
-----------
@0xproject/subproviders
--------
A few useful subproviders.
A few useful web3 subproviders including a LedgerSubprovider useful for adding Ledger Nano S support.
## Installation
```
npm install @0xproject/subproviders --save
yarn add @0xproject/subproviders
```
## Subproviders
## Usage
Simply import the subprovider you are interested in using:
```javascript
import {
ledgerEthereumBrowserClientFactoryAsync as ledgerEthereumClientFactoryAsync,
LedgerSubprovider,
} from '@0xproject/subproviders';
const ledgerSubprovider = new LedgerSubprovider(
networkId,
ledgerEthereumClientFactoryAsync,
);
const accounts = await ledgerSubprovider.getAccountsAsync();
```
### Subproviders
#### Ledger Nano S subprovider
@ -23,7 +41,50 @@ A subprovider which attempts to send an RPC call to a list of RPC endpoints sequ
A subprovider that relays all signing related requests to a particular provider (in our case the provider injected onto the web page), while sending all other requests to a different provider (perhaps your own backing Ethereum node or Infura).
### Integration tests
## Contributing
We strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.
Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started.
### Install Dependencies
If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
```bash
yarn config set workspaces-experimental true
```
```bash
yarn install
```
### Build
```bash
yarn build
```
### Clean
```bash
yarn clean
```
### Lint
```bash
yarn lint
```
### Run tests
#### Unit tests
```bash
yarn run test:unit
```
#### Integration tests
In order to run the integration tests, make sure you have a Ledger Nano S available.
@ -37,3 +98,9 @@ Then run:
```
yarn test:integration
```
#### All tests
```bash
yarn run test:all
```

View File

@ -1,8 +1,5 @@
<img src="https://github.com/0xProject/branding/blob/master/0x_Black_CMYK.png" width="200px" >
---
[0x][website-url] is an open protocol that facilitates trustless, low friction exchange of Ethereum-based assets. A full description of the protocol may be found in our [whitepaper][whitepaper-url].
Website & 0x Portal DApp
-----
This repository contains our website and [0x Portal DApp][portal-url] (over-the-counter exchange), facilitating trustless over-the-counter trading of Ethereum-based tokens using 0x protocol.
@ -10,51 +7,63 @@ This repository contains our website and [0x Portal DApp][portal-url] (over-the-
[whitepaper-url]: https://0xproject.com/pdfs/0x_white_paper.pdf
[portal-url]: https://0xproject.com/portal
[![Join the chat at https://gitter.im/0xProject/contracts](https://badges.gitter.im/0xProject/contracts.svg)](https://gitter.im/0xProject/contracts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
## Contributing
### Local Dev Setup
We strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.
Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started.
## Local Dev Setup
Requires Node version 6.9.5 or higher.
Add the following to your `/etc/hosts` file:
```
127.0.0.1 0xproject.dev
127.0.0.1 0xproject.localhost
```
Clone the [0x contracts repo](https://github.com/0xProject/contracts) into the same parent directory as this project.
### Install dependencies:
Install [yarn](https://yarnpkg.com/lang/en/docs/install/) in order to install the project dependencies more deterministically.
Install dependencies:
```
yarn
```bash
yarn install
```
Import smart contract artifacts from `contracts` repo:
### Run dev server
```
yarn run update_contracts
```
Start dev server:
```
```bash
yarn run dev
```
Visit [0xproject.dev:3572](http://0xproject.dev:3572) in your browser.
Visit [0xproject.localhost:3572](http://0xproject.localhost:3572) in your browser.
### Build
```bash
yarn build
```
### Clean
```bash
yarn clean
```
### Lint
```bash
yarn lint
```
### Resources
##### Toolkit
- [Material Design Icon Font](http://zavoloklom.github.io/material-design-iconic-font/icons.html#directional)
- [BassCSS toolkit](http://basscss.com/)
- [Material-UI component library](http://www.material-ui.com/#/)
##### Recommended Atom packages:
- [atom-typescript](https://atom.io/packages/atom-typescript)
- [linter-tslint](https://atom.io/packages/linter-tslint)
##### Resources
- [Material Design Icon Font](http://zavoloklom.github.io/material-design-iconic-font/icons.html#directional)
- [BassCSS toolkit](http://basscss.com/)
- [Material-UI](http://www.material-ui.com/#/)