Skip to content

Commit

Permalink
update README file.
Browse files Browse the repository at this point in the history
  • Loading branch information
ssallam committed Dec 9, 2020
1 parent 0c4c3a5 commit 61238ab
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 13 deletions.
38 changes: 34 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
# Ocean Protocol Subgraph

## Running locally
* Install the Graph: `https://thegraph.com/docs/quick-start`

* Install Graph CLI globally with npm
```bash
npm install -g @graphprotocol/graph-cli
```

* Install/run the Graph: `https://thegraph.com/docs/quick-start`
* You can skip running ganache-cli and connect directly to `mainnet` using Infura

```bash
Expand All @@ -14,9 +20,24 @@ docker-compose up

```

* Install Graph CLI globally with npm
```bash
npm install -g @graphprotocol/graph-cli
Note: making contract calls using Infura fails with `missing trie node` errors.
The fix requires editing `ethereum_adapter.rs` line 434 to use the latest block
instead of a specific block number.
Replace:
`web3.eth().call(req, Some(block_id)).then(|result| {`
with `web3.eth().call(req, Some(BlockNumber::Latest.into())).then(|result| {`

To run the graph-node with this fix it must be run from source.

First, delete the `graph-node` container from the `docker-compose.yml` file
then run `docker-compose up` to get the postgresql and ipfs services running.

Now you can build and run the graph-node from source
```
cargo run -p graph-node --release > graphnode.log --
--postgres-url postgres://graph-node:let-me-in@localhost:5432/graph-node
--ethereum-rpc mainnet:https://mainnet.infura.io/v3/INFURA_PROJECT_ID
--ipfs 127.0.0.1:5001
```

* Once the graph node is ready, do the following to deploy the ocean-subgraph to the local graph-node
Expand All @@ -29,3 +50,12 @@ npm run create:local
npm run deploy:local

```

* You can edit the event handler code and then run `npm run deploy:local`
* Running deploy will fail if the code has no changes
* Sometimes deploy will fail no matter what, in this case:
* Stop the docker-compose run (`docker-compose down`)
* Delete the `ipfs` and `postgres` folders in `graph-node/docker/data`
* Restart docker-compose
* Run `npm run create:local` to create the ocean-subgraph
* Run `npm run deploy:local` to deploy the ocean-subgraph
9 changes: 3 additions & 6 deletions src/mappings/factory.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
import { Address, BigInt, BigDecimal } from '@graphprotocol/graph-ts'
import { BigInt, BigDecimal } from '@graphprotocol/graph-ts'
import { BPoolRegistered } from '../types/Factory/Factory'
import { PoolFactory, Pool } from '../types/schema'
import { Pool as PoolContract } from '../types/templates'
import {
ZERO_BD,
} from './helpers'
import { ZERO_BD } from './helpers'
import { log } from '@graphprotocol/graph-ts'

export function handleNewPool(event: BPoolRegistered): void {
let factory = PoolFactory.load('1')

// if no factory yet, set up blank initial
if (factory == null) {
factory = new PoolFactory('1')
factory.totalLiquidity = ZERO_BD
Expand All @@ -22,7 +19,7 @@ export function handleNewPool(event: BPoolRegistered): void {
}

let pool = new Pool(event.params.bpoolAddress.toHexString())
log.error('************************ handleNewPool: poolId {}', [pool.id.toString()])
log.info('************************ handleNewPool: poolId {}', [pool.id.toString()])

pool.factoryID = event.address.toHexString()
pool.controller = event.params.registeredBy
Expand Down
23 changes: 20 additions & 3 deletions tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
{
"extends": "./node_modules/@graphprotocol/graph-ts/tsconfig.json",
"compilerOptions": {
"types": ["@graphprotocol/graph-ts"]
}
}
"types": ["@graphprotocol/graph-ts"],
"resolveJsonModule": true,
"moduleResolution": "node",
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"lib": ["es5", "dom"],
"declaration": true,
"module": "commonjs",
"target": "es5",
"removeComments": true,
"experimentalDecorators": true,
"preserveConstEnums": true,
"outDir": "./dist/node/",
"rootDir": "./src/",
"sourceMap": true,
"typeRoots": ["node_modules/@types"]
},
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.test.ts"]
}

0 comments on commit 61238ab

Please sign in to comment.