mirror of https://github.com/waku-org/nwaku.git
feat(rln): init rln_keystore_generator (#1925)
* feat(rln): init rln_keystore_generator * chore: mv to tools
This commit is contained in:
parent
6c6302f9e1
commit
3d849541e2
4
Makefile
4
Makefile
|
@ -184,6 +184,10 @@ chat2: | build deps librln
|
|||
echo -e $(BUILD_MSG) "build/$@" && \
|
||||
$(ENV_SCRIPT) nim chat2 $(NIM_PARAMS) $(EXPERIMENTAL_PARAMS) waku.nims
|
||||
|
||||
rln_keystore_generator: | build deps librln
|
||||
echo -e $(BUILD_MSG) "build/$@" && \
|
||||
$(ENV_SCRIPT) nim rlnkeystoregenerator $(NIM_PARAMS) $(EXPERIMENTAL_PARAMS) waku.nims
|
||||
|
||||
chat2bridge: | build deps
|
||||
echo -e $(BUILD_MSG) "build/$@" && \
|
||||
$(ENV_SCRIPT) nim chat2bridge $(NIM_PARAMS) waku.nims
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
# rln_keystore_generator
|
||||
|
||||
TODO!
|
|
@ -0,0 +1,66 @@
|
|||
when (NimMajor, NimMinor) < (1, 4):
|
||||
{.push raises: [Defect].}
|
||||
else:
|
||||
{.push raises: [].}
|
||||
|
||||
import
|
||||
stew/results,
|
||||
chronos,
|
||||
confutils,
|
||||
confutils/defs,
|
||||
confutils/toml/defs as confTomlDefs,
|
||||
confutils/toml/std/net as confTomlNet,
|
||||
libp2p/crypto/crypto,
|
||||
libp2p/crypto/secp,
|
||||
libp2p/multiaddress,
|
||||
secp256k1
|
||||
import
|
||||
../../waku/common/confutils/envvar/defs as confEnvvarDefs,
|
||||
../../waku/common/confutils/envvar/std/net as confEnvvarNet
|
||||
|
||||
export
|
||||
confTomlDefs,
|
||||
confTomlNet,
|
||||
confEnvvarDefs,
|
||||
confEnvvarNet
|
||||
|
||||
type
|
||||
RlnKeystoreGeneratorConf* = object
|
||||
configFile* {.
|
||||
desc: "Loads configuration from a TOML file (cmd-line parameters take precedence)",
|
||||
name: "config-file" }: Option[InputFile]
|
||||
|
||||
execute* {.
|
||||
desc: "Runs the registration function on-chain. By default, a dry-run will occur",
|
||||
defaultValue: false,
|
||||
name: "execute" .}: bool
|
||||
|
||||
## General node config
|
||||
rlnRelayCredPath* {.
|
||||
desc: "The path for peristing rln-relay credential",
|
||||
defaultValue: "",
|
||||
name: "rln-relay-cred-path" }: string
|
||||
|
||||
rlnRelayEthClientAddress* {.
|
||||
desc: "WebSocket address of an Ethereum testnet client e.g., ws://localhost:8540/",
|
||||
defaultValue: "ws://localhost:8540/",
|
||||
name: "rln-relay-eth-client-address" }: string
|
||||
|
||||
rlnRelayEthContractAddress* {.
|
||||
desc: "Address of membership contract on an Ethereum testnet",
|
||||
defaultValue: "",
|
||||
name: "rln-relay-eth-contract-address" }: string
|
||||
|
||||
rlnRelayCredentialsPassword* {.
|
||||
desc: "Password for encrypting RLN credentials",
|
||||
defaultValue: "",
|
||||
name: "rln-relay-cred-password" }: string
|
||||
|
||||
proc loadConfig*(T: type RlnKeystoreGeneratorConf): Result[T, string] =
|
||||
try:
|
||||
let conf = RlnKeystoreGeneratorConf.load()
|
||||
ok(conf)
|
||||
except CatchableError:
|
||||
err(getCurrentExceptionMsg())
|
||||
except Exception:
|
||||
err(getCurrentExceptionMsg())
|
|
@ -0,0 +1,3 @@
|
|||
-d:chronicles_line_numbers
|
||||
-d:chronicles_runtime_filtering=on
|
||||
#-d:"chronicles_enabled_topics=GossipSub:TRACE,WakuRelay:TRACE"
|
|
@ -0,0 +1,30 @@
|
|||
when (NimMajor, NimMinor) < (1, 4):
|
||||
{.push raises: [Defect].}
|
||||
else:
|
||||
{.push raises: [].}
|
||||
|
||||
import
|
||||
chronicles,
|
||||
stew/[results]
|
||||
|
||||
import
|
||||
./external_config
|
||||
|
||||
logScope:
|
||||
topics = "rln_keystore_generator"
|
||||
|
||||
when isMainModule:
|
||||
{.pop.}
|
||||
let confRes = RlnKeystoreGeneratorConf.loadConfig()
|
||||
if confRes.isErr():
|
||||
error "failure while loading the configuration", error=confRes.error()
|
||||
quit(1)
|
||||
|
||||
let conf = confRes.get()
|
||||
|
||||
debug "configuration", conf = $conf
|
||||
|
||||
# initialize keystore
|
||||
|
||||
|
||||
|
|
@ -70,6 +70,10 @@ task networkmonitor, "Build network monitor tool":
|
|||
let name = "networkmonitor"
|
||||
buildBinary name, "apps/networkmonitor/"
|
||||
|
||||
task rln_keystore_generator, "Build the rln keystore generator":
|
||||
let name = "rln_keystore_generator"
|
||||
buildBinary name, "tools/rln_keystore_generator/"
|
||||
|
||||
task test, "Build & run Waku tests":
|
||||
test "all_tests_waku"
|
||||
|
||||
|
|
Loading…
Reference in New Issue