Skip to content

Commit a44ad91

Browse files
authored
Merge pull request #2069 from oasisprotocol/kostko/feature/rofl-tdx-docs
examples: Add TDX-based oracle
2 parents 8444b42 + 7e3afb7 commit a44ad91

15 files changed

Lines changed: 4525 additions & 16 deletions

File tree

.github/workflows/ci-test.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ jobs:
348348

349349
- name: 'testnet: Wait for node socket'
350350
run: |
351-
while [ ! -e /tmp/oasis-net-runner-sdk-rt/net-runner/network/client-0/internal.sock ]; do
351+
while [[ ! -e /tmp/oasis-net-runner-sdk-rt/net-runner/network/client-0/internal.sock || ! -e /tmp/cfg_ready ]]; do
352352
sleep 1
353353
done
354354
@@ -370,6 +370,10 @@ jobs:
370370
name: e2e-ts-web-rt-logs
371371
path: |
372372
/tmp/oasis-net-runner-sdk-rt/**/*.log
373+
/tmp/oasis-net-runner-sdk-rt/**/*.json
374+
/tmp/oasis-net-runner-sdk-rt/**/*.yaml
375+
/tmp/genesis.json
376+
/tmp/fixture.json
373377
374378
e2e-rt:
375379
# NOTE: This name appears in GitHub's Checks API.

Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ exclude = [
3535
"examples/contract-sdk/c10l-hello-world",
3636
"examples/runtime-sdk/minimal-runtime",
3737
"examples/runtime-sdk/rofl-oracle",
38+
"examples/runtime-sdk/rofl-oracle-tdx",
3839
]
3940
resolver = "2"
4041

client-sdk/ts-web/core/playground/sample-run-network.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,6 @@ mkdir -p /tmp/oasis-net-runner-sdk-core
99
--fixture.default.node.binary "$TEST_NODE_BINARY" \
1010
--fixture.default.setup_runtimes=false \
1111
--basedir /tmp/oasis-net-runner-sdk-core \
12-
--basedir.no_temp_dir
12+
--basedir.no_temp_dir \
13+
--log.format json \
14+
--log.level debug

client-sdk/ts-web/rt/playground/sample-run-network.sh

Lines changed: 55 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ TESTS_DIR=../../../../tests
44
. "$TESTS_DIR/consts.sh"
55
. "$TESTS_DIR/paths.sh"
66

7-
mkdir -p /tmp/oasis-net-runner-sdk-rt
7+
WORKDIR=/tmp/oasis-net-runner-sdk-rt
8+
mkdir -p "$WORKDIR"
89

9-
FIXTURE_FILE="/tmp/oasis-net-runner-sdk-rt/fixture.json"
10+
FIXTURE_FILE="$WORKDIR/fixture.json"
1011

1112
"$TEST_NET_RUNNER" \
1213
dump-fixture \
@@ -21,7 +22,8 @@ FIXTURE_FILE="/tmp/oasis-net-runner-sdk-rt/fixture.json"
2122
--fixture.default.halt_epoch 100000 \
2223
--fixture.default.runtime.version 0.1.0 \
2324
--fixture.default.runtime.version 0.1.0 \
24-
--fixture.default.staking_genesis ./staking.json >"$FIXTURE_FILE"
25+
--fixture.default.staking_genesis ./staking.json >"$FIXTURE_FILE" \
26+
--fixture.default.deterministic_entities
2527

2628
# Use mock SGX.
2729
jq '
@@ -38,7 +40,55 @@ jq '
3840
' "$FIXTURE_FILE" >"$FIXTURE_FILE.tmp"
3941
mv "$FIXTURE_FILE.tmp" "$FIXTURE_FILE"
4042

43+
# Run test runner to generate genesis document.
4144
"$TEST_NET_RUNNER" \
4245
--fixture.file "$FIXTURE_FILE" \
43-
--basedir /tmp/oasis-net-runner-sdk-rt \
44-
--basedir.no_temp_dir
46+
--basedir "$WORKDIR" \
47+
--basedir.no_temp_dir &
48+
RUNNER_PID=$!
49+
50+
# Below is a workaround for there being no way to change the default max tx size which
51+
# prevents the compute nodes from registering.
52+
#
53+
# Wait for genesis file to be created so we can patch it.
54+
GENESIS_FILE="$WORKDIR/net-runner/network/genesis.json"
55+
OUTPUT_GENESIS_FILE=/tmp/genesis.json
56+
while [ ! -e "$GENESIS_FILE" ]; do
57+
sleep 1
58+
done
59+
# Stop the runner.
60+
kill $RUNNER_PID
61+
killall oasis-node
62+
wait
63+
# Wait for all the nodes to stop before proceeding.
64+
while [ $(pgrep oasis-node) ]; do
65+
sleep 1
66+
done
67+
# Patch the genesis file.
68+
jq '
69+
.consensus.params.max_tx_size = 131072 |
70+
.consensus.params.max_block_size = 4194304
71+
' "$GENESIS_FILE" >"$OUTPUT_GENESIS_FILE"
72+
# Update the fixture to use the patched genesis.
73+
mv "$FIXTURE_FILE" /tmp/fixture.json
74+
jq '
75+
.network.genesis_file = "'$OUTPUT_GENESIS_FILE'" |
76+
.network.restore_identities = true |
77+
.entities[1].Restore = true
78+
' /tmp/fixture.json > "$FIXTURE_FILE"
79+
# Reset state.
80+
rm -rf $WORKDIR/net-runner/network/client-*/{consensus,runtime,persistent-store.badger.db}
81+
rm -rf $WORKDIR/net-runner/network/compute-*/{consensus,runtime,persistent-store.badger.db}
82+
rm -rf $WORKDIR/net-runner/network/keymanager-*/{consensus,runtime,persistent-store.badger.db}
83+
rm -rf $WORKDIR/net-runner/network/seed-*/seed
84+
rm -rf $WORKDIR/net-runner/network/validator-*/consensus
85+
# Signal that we can continue.
86+
touch /tmp/cfg_ready
87+
88+
# Run the test runner again.
89+
"$TEST_NET_RUNNER" \
90+
--fixture.file "$FIXTURE_FILE" \
91+
--basedir "$WORKDIR" \
92+
--basedir.no_temp_dir \
93+
--log.format json \
94+
--log.level debug
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Built runtime bundles.
2+
*.orc

0 commit comments

Comments
 (0)