work in progress

This commit is contained in:
stubbsta 2025-04-08 17:15:01 +02:00
parent 32744a2e9c
commit 20760be4ca
No known key found for this signature in database
5 changed files with 127 additions and 63 deletions

View File

@ -13,16 +13,16 @@ if [ ! -d "waku-rlnv2-contract" ]; then
git clone https://github.com/waku-org/waku-rlnv2-contract.git
fi
if [ -z "$RLN_CONTRACT_REPO_COMMIT" ]; then
echo "RLN_CONTRACT_REPO_COMMIT is not set"
exit 1
fi
# if [ -z "$RLN_CONTRACT_REPO_COMMIT" ]; then
# echo "RLN_CONTRACT_REPO_COMMIT is not set"
# exit 1
# fi
cd /waku-rlnv2-contract
git checkout $RLN_CONTRACT_REPO_COMMIT
# git checkout $RLN_CONTRACT_REPO_COMMIT
#3. Replace the hardcoded MAX_MESSAGE_LIMIT
sed -i "s/\b100\b/${MAX_MESSAGE_LIMIT}/g" script/Deploy.s.sol
# #3. Replace the hardcoded MAX_MESSAGE_LIMIT
# sed -i "s/\b100\b/${MAX_MESSAGE_LIMIT}/g" script/Deploy.s.sol
# 4. Compile
echo "forge install..."
@ -41,5 +41,66 @@ export API_KEY_ETHERSCAN=123
export API_KEY_CARDONA=123
export API_KEY_LINEASCAN=123
# 6. Deploy the contract
forge script script/Deploy.s.sol:Deploy --rpc-url $RPC_URL --broadcast -vv --private-key $PRIVATE_KEY --sender $ETH_FROM
# 6. Deploy the TestToken
echo "Deploying TestToken..."
forge script test/TestToken.sol --broadcast -vvvv --rpc-url http://foundry:8545 --tc TestTokenFactory --private-key $PRIVATE_KEY
export TOKEN_ADDRESS=0x5FbDB2315678afecb367f032d93F642f64180aa3
echo "Deploying PriceCalculator"
forge script script/Deploy.s.sol --broadcast --rpc-url http://foundry:8545 --tc DeployPriceCalculator -vvvv --private-key $PRIVATE_KEY
echo "Deploying RLN contract..."
forge script script/Deploy.s.sol --broadcast --rpc-url http://foundry:8545 --tc DeployWakuRlnV2 -vvvv --private-key $PRIVATE_KEY
echo "Deploying Proxy contract..."
forge script script/Deploy.s.sol --broadcast --rpc-url http://foundry:8545 --tc DeployProxy -vvvv --private-key $PRIVATE_KEY
CONTRACT_ADDRESS=0x5FC8d32690cc91D4c39d9d3abcBD16989F875707
# echo "Deploying TestToken...2"
# forge script test/TestToken.sol --broadcast -vvvv --rpc-url http://foundry:8545 --tc TestTokenFactory --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d
# export TOKEN2=0x0165878A594ca255338adfa4d48449f69242Eb8F
echo "Minting...1"
cast send $TOKEN_ADDRESS "mint(address,uint256)" $ETH_FROM 90000000000000000000 --private-key $PRIVATE_KEY --rpc-url $RPC_URL
cast send $TOKEN_ADDRESS "approve(address,uint256)" $CONTRACT_ADDRESS 3000000000000000000 --private-key $PRIVATE_KEY --rpc-url $RPC_URL
echo "Transfer tokens from account1 to others..."
# account1 transfers tokens to account2
# cast send $TOKEN_ADDRESS "transfer(address,uint256)" 0x70997970c51812dc3a010c7d01b50e0d17dc79c8 3000000000000000000 --private-key $PRIVATE_KEY --rpc-url $RPC_URL
# cast send $TOKEN_ADDRESS "transfer(address,uint256)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC 3000000000000000000 --private-key $PRIVATE_KEY --rpc-url $RPC_URL
# cast send $TOKEN_ADDRESS "transfer(address,uint256)" 0x90F79bf6EB2c4f870365E785982E1f101E93b906 1100000000000000000 --private-key $PRIVATE_KEY --rpc-url $RPC_URL
# cast send $TOKEN_ADDRESS "transfer(address,uint256)" 0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65 1000000000000000000 --private-key $PRIVATE_KEY --rpc-url $RPC_URL
echo "Minting..2"
# account2 approves the smart contract
# cast send --from 0x70997970c51812dc3a010c7d01b50e0d17dc79c8 $TOKEN_ADDRESS "approve(address,uint256)" $CONTRACT_ADDRESS 3000000000000000000 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d --rpc-url $RPC_URL
# echo "Allowance:"
# cast call $TOKEN_ADDRESS "allowance(address,address)" 0x70997970c51812dc3a010c7d01b50e0d17dc79c8 $CONTRACT_ADDRESS --rpc-url $RPC_URL --private-key $PRIVATE_KEY
export ID_COMMITMENT=1234
export RATE_LIMIT=20
export PATH=$PATH:$HOME/.foundry/bin
echo "REGISTERING"
# TX_HASH=$(cast send $CONTRACT_ADDRESS "register(uint256,uint32,uint256[])" $ID_COMMITMENT $RATE_LIMIT "[]" --rpc-url $RPC_URL --private-key $private_key)
# echo "Transaction hash: $TX_HASH"
# echo "Minting..3"
# cast send --from 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC $TOKEN_ADDRESS "approve(address,uint256)" $CONTRACT_ADDRESS 2000000000000000000 --private-key 0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a --rpc-url $RPC_URL
# cast call $TOKEN_ADDRESS "allowance(address,address)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC $CONTRACT_ADDRESS --rpc-url $RPC_URL --private-key 0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a
# # echo "Minting..4"
# cast send --from 0x90F79bf6EB2c4f870365E785982E1f101E93b906 $TOKEN_ADDRESS "approve(address,uint256)" $CONTRACT_ADDRESS 1100000000000000000 --private-key 0x7c852118294e51e653712a81e05800f419141751be58f605c371e15141b007a6 --rpc-url $RPC_URL
# cast send --from 0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65 $TOKEN_ADDRESS "approve(address,uint256)" $CONTRACT_ADDRESS 1000000000000000000 --private-key 0x47e179ec197488593b187f80a00eb0da91f1b9d0b13f8733639f19c30a34926a --rpc-url $RPC_URL
# cast send $TOKEN_ADDRESS "mint(address,uint256)" 0x70997970c51812dc3a010c7d01b50e0d17dc79c8 3000000000000000000 --private-key $PRIVATE_KEY --rpc-url $RPC_URL
# cast send $TOKEN_ADDRESS "approve(address,uint256)" 0x70997970c51812dc3a010c7d01b50e0d17dc79c8 3000000000000000000 --private-key $PRIVATE_KEY --rpc-url $RPC_URL
# cast send $TOKEN_ADDRESS "approve(address,uint256)" $CONTRACT_ADDRESS 3000000000000000000 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d --rpc-url $RPC_URL
# echo "Minting...3"
# cast send $TOKEN_ADDRESS "mint(address,uint256)" 0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc 3000000000000000000 --private-key $PRIVATE_KEY --rpc-url $RPC_URL
# cast send $TOKEN_ADDRESS "approve(address,uint256)" 0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc 3000000000000000000 --private-key $PRIVATE_KEY --rpc-url $RPC_URL
# echo "Minting...4"
# cast send $TOKEN_ADDRESS "mint(address,uint256)" 0x90f79bf6eb2c4f870365e785982e1f101e93b906 3000000000000000000 --private-key $PRIVATE_KEY --rpc-url $RPC_URL
# cast send $TOKEN_ADDRESS "approve(address,uint256)" 0x90f79bf6eb2c4f870365e785982e1f101e93b906 3000000000000000000 --private-key $PRIVATE_KEY --rpc-url $RPC_URL
# echo "Minting...5"
# cast call 0x5FC8d32690cc91D4c39d9d3abcBD16989F875707 "getMembershipInfo(uint256)(uint32,uint32,uint256)" 21204544607239115553923357468848196222422962366969722479087435796807960273791 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d --rpc-url http://10.2.0.2:8545
# cast call 0x5FC8d32690cc91D4c39d9d3abcBD16989F875707 "getMembershipInfo(uint256)(uint32,uint32,uint256)" 5494780760687378186440165448823694579544849163701100293317352188071056809499 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d --rpc-url http://10.2.0.2:8545
# cast call 0x5FC8d32690cc91D4c39d9d3abcBD16989F875707 "getMerkleProof(uint40)(uint256[20])" 1 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d --rpc-url http://10.2.0.2:8545
# DBG 2025-04-03 08:58:32.855+00:00 credentials topics="rln_keystore_generator" tid=46 file=rln_keystore_generator.nim:41 idTrapdoor=02a739626fff4f7881f38184191af32619992ce80e9d4a2278fa56db06addc90 idNullifier=0dcf56c07a1198fec0961dd263a85712e68bff55c427c7b52e93111b67cd08e5 idSecretHash=07fc9279feae269da1c6578ce820b18b6ddf7c21877b8d54e76fa7f6a2098fab idCommitment=2ee158d0cc064ddcd579a23585c4996180b1e3245388321a6127e3c27714a37f
# DBG 2025-04-03 08:58:32.877+00:00 registering the member topics="waku rln_relay onchain_group_manager" tid=46 file=group_manager.nim:266 idCommitment=21204544607239115553923357468848196222422962366969722479087435796807960273791 userMessageLimit=20 idCommitmentsToErase=@[]

View File

@ -44,8 +44,7 @@ services:
- ETH_FROM=${ETH_FROM}
- MAX_MESSAGE_LIMIT=${MAX_MESSAGE_LIMIT:-20}
entrypoint: sh
command:
- '/opt/deploy_rln_contract.sh'
tty: true
volumes:
- ./deploy_rln_contract.sh:/opt/deploy_rln_contract.sh
depends_on:
@ -72,42 +71,42 @@ services:
networks:
- simulation
nwaku:
image: ${NWAKU_IMAGE:-wakuorg/nwaku:latest}
restart: on-failure
labels:
com.centurylinklabs.watchtower.enable: '${WATCHTOWER_ENABLED:-false}'
deploy:
replicas: ${NUM_NWAKU_NODES:-5}
entrypoint: sh
environment:
- RPC_URL=${RPC_URL:-http://foundry:8545}
- RLN_CONTRACT_ADDRESS=0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9
- RLN_CREDENTIAL_PATH=/keystore.json
- RLN_CREDENTIAL_PASSWORD=passw123
- RLN_RELAY_MSG_LIMIT=${RLN_RELAY_MSG_LIMIT:-10}
- RLN_RELAY_EPOCH_SEC=${RLN_RELAY_EPOCH_SEC:-60}
command:
- '/opt/run_nwaku.sh'
volumes:
- ./run_nwaku.sh:/opt/run_nwaku.sh:Z
- privatekeys-volume:/shared
depends_on:
contract-repo-deployer:
condition: service_completed_successfully
networks:
- simulation
# nwaku:
# image: ${NWAKU_IMAGE:-wakuorg/nwaku:latest}
# restart: on-failure
# labels:
# com.centurylinklabs.watchtower.enable: '${WATCHTOWER_ENABLED:-false}'
# deploy:
# replicas: ${NUM_NWAKU_NODES:-5}
# entrypoint: sh
# environment:
# - RPC_URL=${RPC_URL:-http://foundry:8545}
# - RLN_CONTRACT_ADDRESS=0x5FC8d32690cc91D4c39d9d3abcBD16989F875707
# - RLN_CREDENTIAL_PATH=/keystore.json
# - RLN_CREDENTIAL_PASSWORD=passw123
# - RLN_RELAY_MSG_LIMIT=${RLN_RELAY_MSG_LIMIT:-10}
# - RLN_RELAY_EPOCH_SEC=${RLN_RELAY_EPOCH_SEC:-60}
# command:
# - '/opt/run_nwaku.sh'
# volumes:
# - ./run_nwaku.sh:/opt/run_nwaku.sh:Z
# - privatekeys-volume:/shared
# depends_on:
# contract-repo-deployer:
# condition: service_completed_successfully
# networks:
# - simulation
rest-traffic:
image: alrevuelta/rest-traffic:28430f8
command:
--multiple-nodes=http://waku-simulator-nwaku-[1..${NUM_NWAKU_NODES:-5}]:8645
--msg-size-kbytes=${MSG_SIZE_KBYTES:-10}
--delay-seconds=${TRAFFIC_DELAY_SECONDS:-15}
networks:
- simulation
depends_on:
- nwaku
# rest-traffic:
# image: alrevuelta/rest-traffic:28430f8
# command:
# --multiple-nodes=http://waku-simulator-nwaku-[1..${NUM_NWAKU_NODES:-5}]:8645
# --msg-size-kbytes=${MSG_SIZE_KBYTES:-10}
# --delay-seconds=${TRAFFIC_DELAY_SECONDS:-15}
# networks:
# - simulation
# depends_on:
# - nwaku
prometheus:
image: prom/prometheus:latest

View File

@ -17,5 +17,4 @@ exec /usr/bin/wakunode\
--metrics-server-address=0.0.0.0\
--nodekey=30348dd51465150e04a5d9d932c72864c8967f806cce60b5d26afeca1e77eb68\
--nat=extip:${IP}\
--pubsub-topic=/waku/2/rs/66/0\
--cluster-id=66

View File

@ -9,6 +9,8 @@ if echo $OS | grep -q "Debian"; then
apt install -y jq
elif echo $OS | grep -q "Alpine"; then
echo "The operating system is Alpine."
castOut1=$(which cast)
echo "cast1 which is $castOut1"
apk add bind-tools
apk add jq
fi
@ -91,22 +93,26 @@ get_private_key(){
if test -f .$RLN_CREDENTIAL_PATH; then
echo "$RLN_CREDENTIAL_PATH already exists. Use it instead of creating a new one."
else
private_key="$(get_private_key)"
echo "Private key: $private_key"
echo "Generating RLN keystore"
/usr/bin/wakunode generateRlnKeystore \
--rln-relay-eth-client-address="$RPC_URL" \
--rln-relay-eth-private-key=$private_key \
--rln-relay-eth-contract-address=$RLN_CONTRACT_ADDRESS \
--rln-relay-cred-path=$RLN_CREDENTIAL_PATH \
--rln-relay-cred-password=$RLN_CREDENTIAL_PASSWORD \
--rln-relay-user-message-limit=$RLN_RELAY_MSG_LIMIT \
--rln-relay-epoch-sec=$RLN_RELAY_EPOCH_SEC \
--log-level=DEBUG \
--execute
# private_key="$(get_private_key)"
# echo "Private key: $private_key"
# echo "Generating RLN keystore"
# /usr/bin/wakunode generateRlnKeystore \
# --rln-relay-eth-client-address="$RPC_URL" \
# --rln-relay-eth-private-key=$private_key \
# --rln-relay-eth-contract-address=$RLN_CONTRACT_ADDRESS \
# --rln-relay-cred-path=$RLN_CREDENTIAL_PATH \
# --rln-relay-cred-password=$RLN_CREDENTIAL_PASSWORD \
# --rln-relay-user-message-limit=$RLN_RELAY_MSG_LIMIT \
# --rln-relay-epoch-sec=$RLN_RELAY_EPOCH_SEC \
# --log-level=DEBUG \
# --execute
fi
echo "File list:"
ls -al
echo "I am a nwaku node"
RETRIES=${RETRIES:=10}
@ -143,10 +149,9 @@ exec /usr/bin/wakunode\
--dns-discovery=true\
--discv5-discovery=true\
--discv5-enr-auto-update=True\
--log-level=DEBUG\
--log-level=TRACE\
--metrics-server=True\
--metrics-server-address=0.0.0.0\
--discv5-bootstrap-node=${BOOTSTRAP_ENR}\
--nat=extip:${IP}\
--pubsub-topic=/waku/2/rs/66/0\
--cluster-id=66

View File

@ -16,4 +16,4 @@ MAX_MESSAGE_LIMIT=100
# RLNv2 limits
RLN_RELAY_MSG_LIMIT=100
RLN_RELAY_EPOCH_SEC=600
RLN_CONTRACT_REPO_COMMIT=64df4593c6a14e43b8b0e9b396d2f4772bb08b34
RLN_CONTRACT_REPO_COMMIT=latest