avash
avash copied to clipboard
Keystore DB Support
Must be merged with https://github.com/ava-labs/avalanchego-internal/pull/720
Changes:
- Configurable Keystore DB flags (
keystore-db-typeandkeystore-db-dir) - Adds local node test script with leveldb to test out the separate keystore db
What branch of AvalancheGo can this be tested with?
What branch of avalanchego can I test this with? Once I can QA manually, I think this is good to merge to dev.
Hey @aaronbuchwald I've linked the PRs above but here you go https://github.com/ava-labs/avalanchego-internal/pull/720
@aaronbuchwald - You will need this patch for the avash local_five_node_staking_leveldb script if you are testing this locally against the local avalanchego binary built from keystore-db branch, something like this (YMMV):
Index: scripts/local_five_node_staking_leveldb.lua
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/scripts/local_five_node_staking_leveldb.lua b/scripts/local_five_node_staking_leveldb.lua
--- a/scripts/local_five_node_staking_leveldb.lua
+++ b/scripts/local_five_node_staking_leveldb.lua
@@ -1,9 +1,9 @@
cmds = {
- "startnode node1 --db-type=leveldb --db-dir=./db --keystore-db-type=leveldb --keystore-db-dir=./db/ksdb --staking-enabled=true --http-port=9650 --staking-port=9651 --log-level=debug --bootstrap-ips= --staking-tls-cert-file=certs/keys1/staker.crt --staking-tls-key-file=certs/keys1/staker.key",
- "startnode node2 --db-type=leveldb --db-dir=./db --keystore-db-type=leveldb --keystore-db-dir=./db/ksdb --staking-enabled=true --http-port=9652 --staking-port=9653 --log-level=debug --bootstrap-ips=127.0.0.1:9651 --bootstrap-ids=NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg --staking-tls-cert-file=certs/keys2/staker.crt --staking-tls-key-file=certs/keys2/staker.key",
- "startnode node3 --db-type=leveldb --db-dir=./db --keystore-db-type=leveldb --keystore-db-dir=./db/ksdb --staking-enabled=true --http-port=9654 --staking-port=9655 --log-level=debug --bootstrap-ips=127.0.0.1:9651 --bootstrap-ids=NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg --staking-tls-cert-file=certs/keys3/staker.crt --staking-tls-key-file=certs/keys3/staker.key",
- "startnode node4 --db-type=leveldb --db-dir=./db --keystore-db-type=leveldb --keystore-db-dir=./db/ksdb --staking-enabled=true --http-port=9656 --staking-port=9657 --log-level=debug --bootstrap-ips=127.0.0.1:9651 --bootstrap-ids=NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg --staking-tls-cert-file=certs/keys4/staker.crt --staking-tls-key-file=certs/keys4/staker.key",
- "startnode node5 --db-type=leveldb --db-dir=./db --keystore-db-type=leveldb --keystore-db-dir=./db/ksdb --staking-enabled=true --http-port=9658 --staking-port=9659 --log-level=debug --bootstrap-ips=127.0.0.1:9651 --bootstrap-ids=NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg --staking-tls-cert-file=certs/keys5/staker.crt --staking-tls-key-file=certs/keys5/staker.key",
+ "startnode node1 --client-location ../avalanchego-internal/build/avalanchego --db-type=leveldb --db-dir=db --keystore-db-type=leveldb --keystore-db-dir=db/ksdb --staking-enabled=true --http-port=9650 --staking-port=9651 --log-level=debug --bootstrap-ips= --staking-tls-cert-file=certs/keys1/staker.crt --staking-tls-key-file=certs/keys1/staker.key",
+ "startnode node2 --client-location ../avalanchego-internal/build/avalanchego --db-type=leveldb --db-dir=db --keystore-db-type=leveldb --keystore-db-dir=db/ksdb --staking-enabled=true --http-port=9652 --staking-port=9653 --log-level=debug --bootstrap-ips=127.0.0.1:9651 --bootstrap-ids=NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg --staking-tls-cert-file=certs/keys2/staker.crt --staking-tls-key-file=certs/keys2/staker.key",
+ "startnode node3 --client-location ../avalanchego-internal/build/avalanchego --db-type=leveldb --db-dir=db --keystore-db-type=leveldb --keystore-db-dir=db/ksdb --staking-enabled=true --http-port=9654 --staking-port=9655 --log-level=debug --bootstrap-ips=127.0.0.1:9651 --bootstrap-ids=NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg --staking-tls-cert-file=certs/keys3/staker.crt --staking-tls-key-file=certs/keys3/staker.key",
+ "startnode node4 --client-location ../avalanchego-internal/build/avalanchego --db-type=leveldb --db-dir=db --keystore-db-type=leveldb --keystore-db-dir=db/ksdb --staking-enabled=true --http-port=9656 --staking-port=9657 --log-level=debug --bootstrap-ips=127.0.0.1:9651 --bootstrap-ids=NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg --staking-tls-cert-file=certs/keys4/staker.crt --staking-tls-key-file=certs/keys4/staker.key",
+ "startnode node5 --client-location ../avalanchego-internal/build/avalanchego --db-type=leveldb --db-dir=db --keystore-db-type=leveldb --keystore-db-dir=db/ksdb --staking-enabled=true --http-port=9658 --staking-port=9659 --log-level=debug --bootstrap-ips=127.0.0.1:9651 --bootstrap-ids=NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg --staking-tls-cert-file=certs/keys5/staker.crt --staking-tls-key-file=certs/keys5/staker.key",
}
for key, cmd in ipairs(cmds) do
Must be merged with ava-labs/avalanchego-internal#720
Does this PR still need to wait on that above PR to be merged?