- Node.js version 14.18.1
- Docker
- Yarn
yarn install
cp .env.sample .env
; modify this file if needs bedocker-compose up -d
yarn dev
GraphQL playground is available at localhost:9080
.
Redis UI is available at localhost:9060
.
Mongo UI is available at localhost:9070
.
- I slightly updated the given GraphQL schema:
UserInput.username
is a required attribute. This seems very logically considering the smart contract implementation. - Smart contracts events fetching jobs run every minute
getAddressFromSignature
function does not verify whether the correct message was signed. I could not figure out how to extract the message hash from the signature- When querying blockchain for contract events, it does not skip the previously processed events. Hence, I had to use
Mongo's
upsert
functionality as a work arounduser already exists
- I could not figure out how to decode/get the actual value of
username
from the contract event. At the moment, it stores the returned hash