mirror of
https://github.com/logos-messaging/logos-messaging-simulator.git
synced 2026-01-04 06:53:08 +00:00
work in progress
This commit is contained in:
parent
32744a2e9c
commit
20760be4ca
@ -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=@[]
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
35
run_nwaku.sh
35
run_nwaku.sh
@ -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
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user