watcher-ts/packages/lighthouse-watcher
Ashwin Phatak 4fb0d95135
Lighthouse watcher (#205)
* Implement watcher for Lighthouse StorageRequest event.

* Add smoke test for lighthouse watcher.

* Add fileCost as value to Lighthouse store call.

Co-authored-by: nabarun <nabarun@deepstacksoft.com>
2021-08-11 17:27:49 +05:30
..
environments Lighthouse watcher (#205) 2021-08-11 17:27:49 +05:30
src Lighthouse watcher (#205) 2021-08-11 17:27:49 +05:30
tasks Lighthouse watcher (#205) 2021-08-11 17:27:49 +05:30
test/contracts Lighthouse watcher (#205) 2021-08-11 17:27:49 +05:30
.eslintignore Lighthouse watcher (#205) 2021-08-11 17:27:49 +05:30
.eslintrc.json Lighthouse watcher (#205) 2021-08-11 17:27:49 +05:30
.gitignore Lighthouse watcher (#205) 2021-08-11 17:27:49 +05:30
.mocharc.yml Lighthouse watcher (#205) 2021-08-11 17:27:49 +05:30
hardhat.config.ts Lighthouse watcher (#205) 2021-08-11 17:27:49 +05:30
package.json Lighthouse watcher (#205) 2021-08-11 17:27:49 +05:30
README.md Lighthouse watcher (#205) 2021-08-11 17:27:49 +05:30
tsconfig.json Lighthouse watcher (#205) 2021-08-11 17:27:49 +05:30

Lighthouse Watcher

Setup

Deploy a Lighthouse contract:

yarn lighthouse:deploy

Use the Lighthouse contract address and set environments/local.toml to watch the contract.

[watch]
  lighthouse = "0xLighthouseContractAddress"

Run

Run the server:

$ yarn server

Test

To test the watcher locally:

Open graphql playground at http://127.0.0.1:3005/graphql and set a subscription query

subscription {
  onEvent {
    block {
      hash
      number
      timestamp
    }
    tx {
      hash
    }
    contract
    eventIndex
    event {
      __typename
      ... on StorageRequestEvent {
        uploader
        cid
        config
        fileCost
      }
    }
    proof {
      data
    }
  }
}

To trigger StorageRequest event locally, run:

yarn lighthouse:store --lighthouse 0xLighthouseContractAddress --cid testCid --store-config testConfig --file-cost 10

Smoke test

To run a smoke test:

  • Start the server.

  • Run:

    $ yarn smoke-test