Skip to content

Commit 3977111

Browse files
authored
Merge branch 'main' into feat/RA-87-Fix-docker-compose-build
2 parents e678b68 + 41dbe04 commit 3977111

File tree

2 files changed

+352
-0
lines changed

2 files changed

+352
-0
lines changed

.github/workflows/stress-test.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Artillery Stress Test
2+
on:
3+
pull_request:
4+
5+
jobs:
6+
artillery:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- name: Checkout Repository
10+
uses: actions/checkout@v2
11+
- name: "Set up environment"
12+
run: docker compose --env-file .env.docker-compose -f docker-compose.yml up --build -d --wait
13+
- name: "Wait for node to be populated"
14+
run: sleep 30s
15+
- name: "Install Node"
16+
uses: actions/setup-node@v1
17+
with:
18+
node-version: '21.x'
19+
- name: "Install Artillery"
20+
run: npm install -g artillery
21+
- name: "Run tests"
22+
run: artillery run artilleryTests/rosetta-load-test.yml

artilleryTests/rosetta-load-test.yml

Lines changed: 330 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,330 @@
1+
config:
2+
target: http://localhost:8081
3+
http:
4+
defaults:
5+
headers:
6+
Content-Type: application/json
7+
http:
8+
timeout: 60
9+
phases:
10+
- duration: 60
11+
arrivalRate: 1
12+
rampTo: 5
13+
name: Warm up phase
14+
- duration: 60
15+
arrivalRate: 5
16+
rampTo: 10
17+
name: Ramp up load
18+
- duration: 30
19+
arrivalRate: 10
20+
rampTo: 30
21+
name: Spike phase
22+
- duration: 60
23+
plugins:
24+
metrics-by-endpoint:
25+
useOnlyRequestNames: true
26+
scenarios:
27+
- flow:
28+
- post:
29+
url: '/account/balance'
30+
body: |
31+
{
32+
"network_identifier": {
33+
"blockchain": "cardano",
34+
"network": "preprod"
35+
},
36+
"account_identifier": {
37+
"address": "addr_test1qz5t8wq55e09usmh07ymxry8atzwxwt2nwwzfngg6esffxvw2pfap6uqmkj3n6zmlrsgz397md2gt7yqs5p255uygaesx608y5"
38+
}
39+
}
40+
- post:
41+
url: '/block'
42+
body: |
43+
{
44+
"network_identifier": {
45+
"blockchain": "cardano",
46+
"network": "preprod"
47+
},
48+
"block_identifier": {
49+
"index": 2235737
50+
}
51+
}
52+
- post:
53+
url: '/construction/parse'
54+
body: |
55+
{
56+
"network_identifier": {
57+
"blockchain": "cardano",
58+
"network": "preprod"
59+
},
60+
"signed": false,
61+
"transaction": "82790132613530303831383235383230326632336664386363613833356166323166336163333735626163363031663937656164373566326537393134336264663731666532633462653034336538663031303138323832353831643631626234306631613634376263383863316264366237333864623865623636333537643932363437346561356666643662616137366339666230313832353831643631626234306631613634376263383863316264366237333864623865623636333537643932363437346561356666643662616137366339666230343032316130353762636566623033313930336538303438313832303138323030353831636262343066316136343762633838633162643662373338646238656236363335376439323634373465613566666436626161373663396662a16a6f7065726174696f6e7382a6746f7065726174696f6e5f6964656e746966696572a265696e646578006d6e6574776f726b5f696e64657800647479706565696e707574667374617475736773756363657373676163636f756e74a16761646472657373783a616464723176786135707564786737376733736461646465636d773874766336686d796e79776e34396c6c747434666d766e3763706e6b63707866616d6f756e74a26576616c7565692d39303030303030306863757272656e6379a26673796d626f6c6341444168646563696d616c73066b636f696e5f6368616e6765a26f636f696e5f6964656e746966696572a16a6964656e7469666965727842326632336664386363613833356166323166336163333735626163363031663937656164373566326537393134336264663731666532633462653034336538663a316b636f696e5f616374696f6e6a636f696e5f7370656e74a5746f7065726174696f6e5f6964656e746966696572a165696e646578036474797065767374616b654b65794465726567697374726174696f6e667374617475736773756363657373676163636f756e74a16761646472657373783b7374616b653175387a666e6b687034673676686e6565746d763271656e3766356e64726b6c716a7138653973326e636b3968333063667a36716d70686d65746164617461a2727374616b696e675f63726564656e7469616ca2696865785f62797465737840314234303044363041414633344541463644434241423942424134363030314132333439373838364346313130363646373834363933334433304535414433466a63757276655f747970656c6564776172647332353531396c726566756e64416d6f756e74a26576616c7565682d323030303030306863757272656e6379a26673796d626f6c6341444168646563696d616c7306"
62+
}
63+
- post:
64+
url: '/construction/combine'
65+
body: |
66+
{
67+
"network_identifier": {
68+
"blockchain": "cardano",
69+
"network": "preprod"
70+
},
71+
"unsigned_transaction": "8278ee61343030383138323538323032663233666438636361383335616632316633616333373562616336303166393765616437356632653739313433626466373166653263346265303433653866303130313832383235383164363162623430663161363437626338386331626436623733386462386562363633353764393236343734656135666664366261613736633966623139323731303832353831643631626234306631613634376263383863316264366237333864623865623636333537643932363437346561356666643662616137366339666231393963343030323139396334303033313930336538a16a6f7065726174696f6e7381a6746f7065726174696f6e5f6964656e746966696572a265696e646578006d6e6574776f726b5f696e64657800647479706565696e707574667374617475736773756363657373676163636f756e74a16761646472657373783b416532746450775550455a4336574a66565178544e4e3274577734736b47724e367a5256756b76784a6d544679316e596b5647514275555255334c66616d6f756e74a26576616c7565662d39303030306863757272656e6379a26673796d626f6c6341444168646563696d616c73066b636f696e5f6368616e6765a26f636f696e5f6964656e746966696572a16a6964656e7469666965727842326632336664386363613833356166323166336163333735626163363031663937656164373566326537393134336264663731666532633462653034336538663a316b636f696e5f616374696f6e6a636f696e5f7370656e74",
72+
"signatures": [
73+
{
74+
"signing_payload": {
75+
"account_identifier": {
76+
"address": "Ae2tdPwUPEZC6WJfVQxTNN2tWw4skGrN6zRVukvxJmTFy1nYkVGQBuURU3L",
77+
"metadata": {
78+
"chain_code": "dd75e154da417becec55cdd249327454138f082110297d5e87ab25e15fad150f"
79+
}
80+
},
81+
"hex_bytes": "4691ebf945f37962153f74e198ba2553177e6dc8e464303e37589077f634397c",
82+
"signature_type": "ed25519"
83+
},
84+
"public_key": {
85+
"hex_bytes": "73fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d",
86+
"curve_type": "edwards25519"
87+
},
88+
"signature_type": "ed25519",
89+
"hex_bytes": "dc2a1948bfa9411b37e8d280b04c48a85af5588bcf509c0fca798f7b462ebca92d6733dacc1f1c6c1463623c085401be07ea422ad4f1c543375e7d3d2393aa0b"
90+
}
91+
]
92+
}
93+
- post:
94+
url: '/construction/payloads'
95+
body: |
96+
{
97+
"network_identifier": {
98+
"blockchain": "cardano",
99+
"network": "preprod"
100+
},
101+
"operations": [
102+
{
103+
"operation_identifier": {
104+
"index": 0,
105+
"network_index": 0
106+
},
107+
"type": "input",
108+
"status": "success",
109+
"account": {
110+
"address": "addr1vxa5pudxg77g3sdaddecmw8tvc6hmynywn49lltt4fmvn7cpnkcpx"
111+
},
112+
"amount": {
113+
"value": "-90000",
114+
"currency": {
115+
"symbol": "ADA",
116+
"decimals": 6
117+
}
118+
},
119+
"coin_change": {
120+
"coin_identifier": {
121+
"identifier": "2f23fd8cca835af21f3ac375bac601f97ead75f2e79143bdf71fe2c4be043e8f:1"
122+
},
123+
"coin_action": "coin_spent"
124+
}
125+
},
126+
{
127+
"operation_identifier": {
128+
"index": 1
129+
},
130+
"related_operations": [
131+
{
132+
"index": 0
133+
}
134+
],
135+
"type": "output",
136+
"status": "success",
137+
"account": {
138+
"address": "addr1vxa5pudxg77g3sdaddecmw8tvc6hmynywn49lltt4fmvn7cpnkcpx"
139+
},
140+
"amount": {
141+
"value": "10000",
142+
"currency": {
143+
"symbol": "ADA",
144+
"decimals": 6
145+
}
146+
}
147+
},
148+
{
149+
"operation_identifier": {
150+
"index": 2
151+
},
152+
"related_operations": [
153+
{
154+
"index": 0
155+
}
156+
],
157+
"type": "output",
158+
"status": "success",
159+
"account": {
160+
"address": "addr1vxa5pudxg77g3sdaddecmw8tvc6hmynywn49lltt4fmvn7cpnkcpx"
161+
},
162+
"amount": {
163+
"value": "40000",
164+
"currency": {
165+
"symbol": "ADA",
166+
"decimals": 6
167+
}
168+
}
169+
},
170+
{
171+
"operation_identifier": {
172+
"index": 3
173+
},
174+
"type": "stakeKeyDeregistration",
175+
"status": "success",
176+
"account": {
177+
"address": "stake1uxa5pudxg77g3sdaddecmw8tvc6hmynywn49lltt4fmvn7caek7a5"
178+
},
179+
"metadata": {
180+
"staking_credential": {
181+
"hex_bytes": "1B400D60AAF34EAF6DCBAB9BBA46001A23497886CF11066F7846933D30E5AD3F",
182+
"curve_type": "edwards25519"
183+
}
184+
}
185+
}
186+
],
187+
"metadata": {
188+
"ttl": "0",
189+
"protocol_parameters": {
190+
"coinsPerUtxoSize": "0",
191+
"maxTxSize": 16384,
192+
"maxValSize": 0,
193+
"keyDeposit": "2000000",
194+
"maxCollateralInputs": 0,
195+
"minFeeCoefficient": 44,
196+
"minFeeConstant": 155381,
197+
"minPoolCost": "340000000",
198+
"poolDeposit": "500000000",
199+
"protocol": 4
200+
}
201+
}
202+
}
203+
- post:
204+
url: '/construction/preprocess'
205+
body: |
206+
{
207+
"metadata": {
208+
"deposit_parameters": {
209+
"poolDeposit": "500000000",
210+
"keyDeposit": "2000000"
211+
}
212+
},
213+
"network_identifier": {
214+
"blockchain": "cardano",
215+
"network": "preprod"
216+
},
217+
"operations": [
218+
{
219+
"operation_identifier": {
220+
"index": 0,
221+
"network_index": 0
222+
},
223+
"type": "input",
224+
"status": "success",
225+
"account": {
226+
"address": "addr1vxa5pudxg77g3sdaddecmw8tvc6hmynywn49lltt4fmvn7cpnkcpx"
227+
},
228+
"amount": {
229+
"value": "-90000",
230+
"currency": {
231+
"symbol": "ADA",
232+
"decimals": 6
233+
}
234+
},
235+
"coin_change": {
236+
"coin_identifier": {
237+
"identifier": "2f23fd8cca835af21f3ac375bac601f97ead75f2e79143bdf71fe2c4be043e8f:1"
238+
},
239+
"coin_action": "coin_spent"
240+
}
241+
},
242+
{
243+
"operation_identifier": {
244+
"index": 1
245+
},
246+
"related_operations": [
247+
{
248+
"index": 0
249+
}
250+
],
251+
"type": "output",
252+
"status": "success",
253+
"account": {
254+
"address": "addr1vxa5pudxg77g3sdaddecmw8tvc6hmynywn49lltt4fmvn7cpnkcpx"
255+
},
256+
"amount": {
257+
"value": "10000",
258+
"currency": {
259+
"symbol": "ADA",
260+
"decimals": 6
261+
}
262+
}
263+
},
264+
{
265+
"operation_identifier": {
266+
"index": 2
267+
},
268+
"related_operations": [
269+
{
270+
"index": 0
271+
}
272+
],
273+
"type": "output",
274+
"status": "success",
275+
"account": {
276+
"address": "addr1vxa5pudxg77g3sdaddecmw8tvc6hmynywn49lltt4fmvn7cpnkcpx"
277+
},
278+
"amount": {
279+
"value": "40000",
280+
"currency": {
281+
"symbol": "ADA",
282+
"decimals": 6
283+
}
284+
}
285+
}
286+
]
287+
}
288+
- post:
289+
url: '/construction/metadata'
290+
body: |
291+
{
292+
"network_identifier": {
293+
"blockchain": "cardano",
294+
"network": "preprod"
295+
},
296+
"options": {
297+
"transaction_size": 40.0,
298+
"relative_ttl": 10.0
299+
}
300+
}
301+
- post:
302+
url: '/construction/hash'
303+
body: |
304+
{
305+
"network_identifier": {
306+
"blockchain": "cardano",
307+
"network": "preprod"
308+
},
309+
"signed_transaction": "827901c43834613430303831383235383230326632336664386363613833356166323166336163333735626163363031663937656164373566326537393134336264663731666532633462653034336538663031303138323832353831643631626234306631613634376263383863316264366237333864623865623636333537643932363437346561356666643662616137366339666231393237313038323538316436316262343066316136343762633838633162643662373338646238656236363335376439323634373465613566666436626161373663396662313939633430303231393963343030333139303365386131303038313832353832303162343030643630616166333465616636646362616239626261343630303161323334393738383663663131303636663738343639333364333065356164336635383430366339323530383133356362303630313837613237303661646538313534373832383637623135323665393631356430363734326265356335366630333761623835383934633039386332616230373937313133336330343737626165653932616466333532376164376363383136663133653165346333363130343132303666356636a16a6f7065726174696f6e7381a6746f7065726174696f6e5f6964656e746966696572a265696e646578006d6e6574776f726b5f696e64657800647479706565696e707574667374617475736773756363657373676163636f756e74a16761646472657373783a616464723176786135707564786737376733736461646465636d773874766336686d796e79776e34396c6c747434666d766e3763706e6b63707866616d6f756e74a26576616c7565662d39303030306863757272656e6379a26673796d626f6c6341444168646563696d616c73066b636f696e5f6368616e6765a26f636f696e5f6964656e746966696572a16a6964656e7469666965727842326632336664386363613833356166323166336163333735626163363031663937656164373566326537393134336264663731666532633462653034336538663a316b636f696e5f616374696f6e6a636f696e5f7370656e74"
310+
}
311+
- post:
312+
url: '/construction/derive'
313+
body: |
314+
{
315+
"network_identifier": {
316+
"blockchain": "cardano",
317+
"network": "preprod"
318+
},
319+
"public_key": {
320+
"hex_bytes": "d498c3d54941e01cbcfb565371a844f1342edee82795ef5297de45be3acb19d8",
321+
"curve_type": "edwards25519"
322+
},
323+
"metadata": {
324+
"address_type": "Base",
325+
"staking_credential": {
326+
"hex_bytes": "43d39a2ac216e5468d4f19541c204df47a7721c4f3b0b40dc6d290e53cb45ffe",
327+
"curve_type": "edwards25519"
328+
}
329+
}
330+
}

0 commit comments

Comments
 (0)