Hello friends , we are still working on the spark spot market release, and this time I have faced into problem during the deployment ts-based spark matching engine.
The matcher works well if I start it using nodemon
or npm run build && npm run start
:
Spark matching output when I run it with `npm run start `
>>> npm run build && npm run start
> spark-matcher@0.0.1 build
> tsc --p tsconfig.build.json
> spark-matcher@0.0.1 start
> node dist/server.js
{ NODE_URL: 'https://beta-4.fuel.network/graphql' }
βββββββ βββββββ ββββ βββββββββββ βββββββ ββββββββ ββββββ βββββββ ββββββ βββββββββββββββ βββ
ββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββ ββββ
βββ βββ βββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββ βββ βββ βββββββ
βββ βββ βββββββββββββββββββββ βββ βββββββββββββββββββββββββββββββββ βββ βββ βββββ
ββββββββββββββββββββ βββ ββββββ ββββββββββββββββββββ βββββββββββββββββββββββββ βββ βββ
βββββββ βββββββ βββ ββββββ βββββββ βββββββββββ ββββββββββ ββββββββββββββ βββ βββ
βββ ββββββ βββββββ ββββββββ
βββ ββββββββββββββββββββββββ
βββ ββββββββββββββββββββββββ
βββ ββββββββββββββββββββββββ
βββββββββββ βββββββββββββββββββ
βββββββββββ ββββββββββ ββββββββ
π Server ready at: http://localhost:5003
π« Job start
Buy orders: 19 | Sell orders: 9 | Total orders: 40
But when I try to run it inside a docker container I have the next error:
Spark matcher dicker container logs
>>> sudo docker build --tag spark-matcher . && sudo docker run --restart=always -d spark-matcher
Password:
[+] Building 27.1s (11/11) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 37B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 34B 0.0s
=> [internal] load metadata for docker.io/library/node:14-slim 1.5s
=> [1/6] FROM docker.io/library/node:14-slim@sha256:198142146b4c47193348f6415da769bdb5035c16fcab051c38c256a6b48f2e1c 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 57.64kB 0.0s
=> CACHED [2/6] RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app 0.0s
=> [3/6] COPY . /home/node/app 0.1s
=> [4/6] WORKDIR /home/node/app 0.0s
=> [5/6] RUN npm install 21.7s
=> [6/6] RUN npm run build 1.5s
=> exporting to image 2.2s
=> => exporting layers 2.2s
=> => writing image sha256:559571be7418fb9436e5fb618e14d8573af95969bc64fcf98694310f564701b7 0.0s
=> => naming to docker.io/library/spark-matcher 0.0s
f2a6c7616d05b3855640ae77dbe4c71c8b358731ad1e5165e276646497d320c0
>>> docker logs f2a6c7616d05b3855640ae77dbe4c71c8b358731ad1e5165e276646497d320c0 -f (*beta-4+242) 12:47:50
{ NODE_URL: 'https://beta-4.fuel.network/graphql' }
βββββββ βββββββ ββββ βββββββββββ βββββββ ββββββββ ββββββ βββββββ ββββββ βββββββββββββββ βββ
ββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββ ββββ
βββ βββ βββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββ βββ βββ βββββββ
βββ βββ βββββββββββββββββββββ βββ βββββββββββββββββββββββββββββββββ βββ βββ βββββ
ββββββββββββββββββββ βββ ββββββ ββββββββββββββββββββ βββββββββββββββββββββββββ βββ βββ
βββββββ βββββββ βββ ββββββ βββββββ βββββββββββ ββββββββββ ββββββββββββββ βββ βββ
βββ ββββββ βββββββ ββββββββ
βββ ββββββββββββββββββββββββ
βββ ββββββββββββββββββββββββ
βββ ββββββββββββββββββββββββ
βββββββββββ βββββββββββββββββββ
βββββββββββ ββββββββββ ββββββββ
π Server ready at: http://localhost:5003
(node:1) UnhandledPromiseRejectionWarning: ReferenceError: AbortController is not defined
at createClient (/home/node/app/node_modules/graphql-sse/lib/client.js:67:9)
at Function.createSubscriptionClient (/home/node/app/node_modules/fuels/node_modules/@fuel-ts/providers/dist/index.js:3019:48)
at _Provider.createOperations (/home/node/app/node_modules/fuels/node_modules/@fuel-ts/providers/dist/index.js:3006:55)
at new _Provider (/home/node/app/node_modules/fuels/node_modules/@fuel-ts/providers/dist/index.js:2901:10)
at Function.create (/home/node/app/node_modules/fuels/node_modules/@fuel-ts/providers/dist/index.js:2916:22)
at new SparkMatcher (/home/node/app/dist/server.js:121:26)
at Object.<anonymous> (/home/node/app/dist/server.js:144:17)
at Module._compile (internal/modules/cjs/loader.js:1114:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
at Module.load (internal/modules/cjs/loader.js:979:32)
I just debugged it and found the place where it falls
Toolchain
Default host: x86_64-unknown-linux-gnu
fuelup home: /home/ubuntu/.fuelup
installed toolchains
--------------------
latest-x86_64-unknown-linux-gnu (default)
active toolchain
-----------------
latest-x86_64-unknown-linux-gnu (default)
forc : 0.40.1
- forc-client
- forc-deploy : 0.40.1
- forc-run : 0.40.1
- forc-doc : 0.40.1
- forc-explore : 0.28.1
- forc-fmt : 0.40.1
- forc-index : 0.16.1
- forc-lsp : 0.40.1
- forc-tx : 0.40.1
- forc-wallet : 0.2.2
fuel-core : 0.18.1
fuel-indexer : 0.16.1
fuels versions
---------------
forc : 0.42
How to reproduce
git clone https://github.com/compolabs/spark.git
cd spark
git checkout beta-4
cd services/spark-mather
#
# #.env file
#NODE_ENV=development
#PORT=5003
#PRIVATE_KEY="YOUR PK WITH ETH HERE"
#CONTRACT_ADDRESS="0xe2058c9c621c42bde654dd31560ab3bf68a5b9f517894ee7db0b6f82ea5d3e3a"
#NODE_URL="https://beta-4.fuel.network/graphql"
#INDEXER_URL="https://spark-indexer.spark-defi.com/api/sql/composabilitylabs/spark_indexer"
#
echo "<YOUR ENV FILE>" >> .env
sudo docker build --tag spark-matcher . && sudo docker run --restart=always -d spark-matcher
# and here check logs of the container