Skip to content

Commit 2d435f1

Browse files
committed
Fixed run-graphql to test metrics
1 parent bda5ee0 commit 2d435f1

File tree

5 files changed

+61
-31
lines changed

5 files changed

+61
-31
lines changed

packages/stack/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"test:file": "node --experimental-vm-modules ../../node_modules/jest/bin/jest.js",
1212
"test": "npm run test:file -- ./test/**",
1313
"test:watch": "npm run test:file -- ./test/** --watch",
14-
"graphql": "npm run build && node --experimental-vm-modules --experimental-wasm-modules --experimental-wasm-threads --es-module-specifier-resolution=node ./dist/src/scripts/graphql/run-graphql.js",
14+
"graphql": "npm run build && node --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./dist/scripts/graphql/run-graphql.js",
1515
"start": "node --experimental-vm-modules --es-module-specifier-resolution=node ./dist/start.js"
1616
},
1717
"main": "dist/index.js",

packages/stack/src/scripts/graphql/run-graphql.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/usr/bin/env ts-node
12
import "reflect-metadata";
23

34
import { sleep } from "@proto-kit/common";
@@ -11,3 +12,5 @@ export class SequencerStartable implements Startable {
1112
await sleep(100000000);
1213
}
1314
}
15+
16+
await startServer();

packages/stack/src/scripts/graphql/server.ts

Lines changed: 39 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {
2222
VanillaRuntimeModules,
2323
UInt64,
2424
} from "@proto-kit/library";
25-
import { log } from "@proto-kit/common";
25+
import { log, mapSequential, range } from "@proto-kit/common";
2626
import {
2727
BatchProducerModule,
2828
InMemoryDatabase,
@@ -35,6 +35,7 @@ import {
3535
BlockProducerModule,
3636
VanillaTaskWorkerModules,
3737
SequencerStartupModule,
38+
TimedBlockTrigger,
3839
} from "@proto-kit/sequencer";
3940
import {
4041
BatchStorageResolver,
@@ -45,6 +46,7 @@ import {
4546
NodeStatusResolver,
4647
QueryGraphqlModule,
4748
BlockResolver,
49+
OpenTelemetryServer,
4850
} from "@proto-kit/api";
4951
import { container } from "tsyringe";
5052

@@ -103,16 +105,19 @@ export async function startServer() {
103105
modules: {
104106
Database: InMemoryDatabase,
105107
// Database: PrismaRedisDatabase,
108+
OpenTelemetryServer,
106109

107110
Mempool: PrivateMempool,
108111
GraphqlServer,
109112
LocalTaskWorkerModule: LocalTaskWorkerModule.from(
110113
VanillaTaskWorkerModules.withoutSettlement()
111114
),
115+
112116
BaseLayer: NoopBaseLayer,
113117
BatchProducerModule,
114118
BlockProducerModule,
115-
BlockTrigger: ManualBlockTrigger,
119+
// BlockTrigger: ManualBlockTrigger,
120+
BlockTrigger: TimedBlockTrigger,
116121
TaskQueue: LocalTaskQueue,
117122
// SettlementModule: SettlementModule,
118123

@@ -135,6 +140,7 @@ export async function startServer() {
135140
BlockResolver: {},
136141
},
137142
}),
143+
138144
SequencerStartupModule,
139145
},
140146
}),
@@ -189,6 +195,8 @@ export async function startServer() {
189195
MerkleWitnessResolver: {},
190196
},
191197

198+
OpenTelemetryServer: {},
199+
192200
Database: {
193201
// redis: {
194202
// host: "localhost",
@@ -218,7 +226,10 @@ export async function startServer() {
218226
allowEmptyBlock: true,
219227
},
220228

221-
BlockTrigger: {},
229+
BlockTrigger: {
230+
blockInterval: 10000,
231+
settlementInterval: 20000,
232+
},
222233
},
223234

224235
TransactionSender: {},
@@ -246,30 +257,31 @@ export async function startServer() {
246257
const as = await appChain.query.protocol.AccountState.accountState.get(
247258
priv.toPublicKey()
248259
);
249-
const nonce = Number(as?.nonce.toString() ?? "0");
250-
251-
const tx = await appChain.transaction(
252-
priv.toPublicKey(),
253-
async () => {
254-
await balances.addBalance(tokenId, priv.toPublicKey(), UInt64.from(1000));
255-
},
256-
{
257-
nonce,
258-
}
259-
);
260-
appChain.resolve("Signer").config.signer = priv;
261-
await tx.sign();
262-
await tx.send();
263-
264-
const tx2 = await appChain.transaction(
265-
priv.toPublicKey(),
266-
async () => {
267-
await balances.addBalance(tokenId, priv.toPublicKey(), UInt64.from(1000));
268-
},
269-
{ nonce: nonce + 1 }
270-
);
271-
await tx2.sign();
272-
await tx2.send();
260+
let nonce = Number(as?.nonce.toString() ?? "0");
261+
262+
setInterval(async () => {
263+
const random = Math.floor(Math.random() * 5);
264+
await mapSequential(range(0, random), async () => {
265+
const tx = await appChain.transaction(
266+
priv.toPublicKey(),
267+
async () => {
268+
await balances.addBalance(
269+
tokenId,
270+
priv.toPublicKey(),
271+
UInt64.from(1000)
272+
);
273+
},
274+
{
275+
nonce,
276+
}
277+
);
278+
appChain.resolve("Signer").config.signer = priv;
279+
await tx.sign();
280+
await tx.send();
281+
282+
nonce += 1;
283+
});
284+
}, 10000);
273285

274286
return appChain;
275287
}

packages/stack/src/start.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,21 @@
44
// Environment,
55
// startEnvironment,
66
// } from "@proto-kit/deployment";
7-
7+
//
88
// import { SequencerStartable } from "./scripts/graphql/run-graphql";
99
// import { WorkerEnvironment } from "./scripts/worker";
10-
10+
//
1111
// const env = Environments.from({
1212
// single: Environment.from({
1313
// sequencer: new SequencerStartable(),
1414
// }),
1515
// distributed: WorkerEnvironment,
1616
// });
17-
17+
//
1818
// await startEnvironment(env);
19+
20+
import { startServer } from "./scripts/graphql/server";
21+
import { sleep } from "@proto-kit/common";
22+
23+
await startServer();
24+
await sleep(1000);

packages/stack/test/start.test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { startServer } from "../src";
2+
import { sleep } from "@proto-kit/common";
3+
4+
describe("Start", () => {
5+
it("a", async () => {
6+
await startServer();
7+
await sleep(10000000);
8+
}, 10000000);
9+
});

0 commit comments

Comments
 (0)