Skip to content

Commit

Permalink
Merge branch 'DIVE-216-Testnet-setup-for-Integritee-Shell-Polkadot' of
Browse files Browse the repository at this point in the history
…https://github.com/HugoByte/polakadot-kurtosis-package into DIVE-216-Testnet-setup-for-Integritee-Shell-Polkadot
  • Loading branch information
abhiyana committed Nov 7, 2023
2 parents ef84909 + 7a41af4 commit aae6656
Show file tree
Hide file tree
Showing 7 changed files with 161 additions and 1 deletion.
1 change: 1 addition & 0 deletions parachain/parachain.star
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,4 @@ def start_nodes(plan, args, relay_chain_ip):
for parachain in parachains:
para_id = register_para_slot.register_para_id(plan, relay_chain_ip)
start_local_parachain_node(plan, parachain, para_id)
register_para_slot.onboard_genesis_state_and_wasm(plan, para_id, parachain)
17 changes: 17 additions & 0 deletions parachain/register-para-id.star
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,20 @@ def register_para_id(plan, alice_ip):
para_id = plan.exec(service_name = test.name, recipe = ExecRecipe(command = ["/bin/sh", "-c", "cat /tmp/para.json | tr -d '\n\r'"]))

return para_id["output"]

def onboard_genesis_state_and_wasm(plan, para_id, chain_name):
service = plan.add_service(
name = "upload-genesis-file",
config = ServiceConfig(
image = constant.NODE_IMAGE,
files = {
"/app": "configs",
"/build": constant.RAW_BUILD_SPEC,
"/javascript": "javascript",
},
entrypoint = ["/bin/sh"],
),
)

plan.exec(service_name = service.name, recipe = ExecRecipe(command = ["/bin/sh", "-c", "cd /javascript && npm i "]))
plan.exec(service_name = service.name, recipe = ExecRecipe(command = ["/bin/sh", "-c", "cd /javascript && node onboard ws://{0}:9944 //Alice {1} /build/{2}-genesis-state /build/{2}-genesis-wasm".format(alice_ip, para_id, chain_name)]))
69 changes: 69 additions & 0 deletions parachain/static_files/javascript/onboard.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
const { ApiPromise, WsProvider, Keyring } = require("@polkadot/api");
const fs = require("fs");

const run = async () => {
try {
console.log("Parsing Args ...");
// 0 & 1 are command context
const endpoint = process.argv[2];
const seed = process.argv[3];
const id = process.argv[4];
const header = process.argv[5];
const wasmFile = process.argv[6];

const wsProvider = new WsProvider(endpoint);

const api = await ApiPromise.create({
provider: wsProvider,
});

const keyring = new Keyring({ type: "sr25519" });
const alice = keyring.addFromUri(seed);

let wasm;
try {
wasm = fs.readFileSync(wasmFile, "utf8");
} catch (err) {
console.error(err);
throw err;
}

let paraGenesisArgs = {
genesis_head: header,
validation_code: wasm,
parachain: true,
};

let genesis = api.createType("ParaGenesisArgs", paraGenesisArgs);

const nonce = Number((await api.query.system.account(alice.address)).nonce);

console.log(
`--- Submitting extrinsic to register parachain ${id}. (nonce: ${nonce}) ---`
);
const sudoCall = await api.tx.sudo
.sudo(api.tx.parasSudoWrapper.sudoScheduleParaInitialize(id, genesis))
.signAndSend(alice, { nonce: nonce, era: 0 }, (result) => {
console.log(`Current status is ${result.status}`);
if (result.status.isInBlock) {
console.log(
`Transaction included at blockHash ${result.status.asInBlock}`
);
console.log("Waiting for finalization...");
} else if (result.status.isFinalized) {
console.log(
`Transaction finalized at blockHash ${result.status.asFinalized}`
);
sudoCall();
process.exit();
} else if (result.isError) {
console.log(`Transaction Error`);
process.exit();
}
});
} catch (error) {
console.log("error:", error);
}
};

run();
3 changes: 2 additions & 1 deletion parachain/static_files/javascript/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
"description": "",
"main": "index.js",
"scripts": {
"register": "node register.js"
"register": "node register.js",
"onboard": "node onboard.js"
},
"keywords": [],
"dependencies": {
Expand Down
27 changes: 27 additions & 0 deletions parachain/testnet-setup/acala.star
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
def run_acala(plan):

exec_command = [
"--chain=mandala-latest",
"--collator",
"--rpc-cors=all",
"--rpc-port=9933",
"--rpc-methods=unsafe",
"--unsafe-rpc-external",
"--unsafe-ws-external",
"--tmp",
"--execution=wasm"
]

acala_service_config = ServiceConfig(
image = "acala/mandala-node:latest",
files = {
"/app": "configs",
},
ports = {
"ws": PortSpec(9944, transport_protocol = "TCP"),
"rpc": PortSpec(9933, transport_protocol = "TCP"),
},
cmd = exec_command,
entrypoint= ["/usr/local/bin/acala"]
)
plan.add_service(name = "acala-node", config = acala_service_config)
19 changes: 19 additions & 0 deletions parachain/testnet-setup/bifrost.star
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
def run_bifrost(plan):
exec_command = [
"--chain /specs/bifrost-testnet.json",
"--port=30333",
"--rpc-port=9933",
"--rpc-cors=all",
"--rpc-external"
]

service_config = ServiceConfig(
image = "thebifrost/bifrost-node:latest",
ports = {
"rpc": PortSpec(9933, transport_protocol = "TCP"),
"ws": PortSpec(30333, transport_protocol = "TCP"),
},
entrypoint = exec_command,
)

plan.add_service(name="bifrost-node", service_config = service_config)
26 changes: 26 additions & 0 deletions parachain/testnet-setup/clover.star
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
def run_clover(plan):
exec_command = [
"--base-path=/opt/chaindata",
"--chain=/opt/specs/clover-preview-iris.json",
"--port=30333",
"--ws-port=9944",
"--rpc-port=9933",
"--rpc-cors=all",
"--validator",
"--unsafe-ws-external",
"--unsafe-rpc-external",
"--rpc-methods=Unsafe"
]

service_config = ServiceConfig(
image = "cloverio/clover-iris:0.1.15",
ports = {
"ws": PortSpec(9944, transport_protocol="TCP"),
"tcp": PortSpec(9933, transport_protocol="TCP")
},
cmd = exec_command,
entrypoint = ["/bin/sh", "-c", "/opt/clover/bin/clover"]
)

plan.add_service(name= "clover-node", config= service_config)

0 comments on commit aae6656

Please sign in to comment.