
v2.5.3
laozi-mainnet
ENABLED
Set AWS Lambda Executor
Create Lambda Function
Go to AWS Lambda, and click "Create Function"

Select :
Select Author from Scratch.
Create Function Name.
Runtime Python 3.7.
Create new user in the Permission Tab. Click Create Function
You will see this page

Scroll down until you see Function Code Panel click Actions - Upload .ZIP file.
You can get the .zip here


Go to Configuration - Environment variabeles - Edit
Environment variables section and add 2 environment variables: MAX_EXECUTABLE to 8192 (8 MB) and MAX_DATA_SIZE to 256.

Go to Configuration - General Configuration - Edit Basic Settings and update the runtime configurations.
512MB RAM and 12 seconds timeout is Recommended.

Create Trigger
Click Add Trigger - API Gateway
Then Follow like the image below



Click "Add", And your Trigger for Lambda Executor is Ready.
Yoda Executor Configuration
# clear old yoda config, Optional
rm -rf ~/.yoda
yoda config chain-id laozi-mainnet
yoda config node http://localhost:26657 #Your Node Port
yoda config broadcast-timeout "5m"
yoda config rpc-poll-interval "1s"
yoda config max-try 5
yoda config validator $(bandd keys show wallet -a --bech val)
Add 5 REPORTER wallet
yoda keys add REPORTER_1
yoda keys add REPORTER_2
yoda keys add REPORTER_3
yoda keys add REPORTER_4
yoda keys add REPORTER_5
You can recover existing wallet with this command , and so on
yoda keys add REPORTER_1 --recover
Fund your Reporter wallet
bandd tx multi-send 1uband $(yoda keys list -a) --gas=1000000 --gas-prices=0.0025uband --gas-adjustment=1.5 --from mywallet --chain-id laozi-mainnet -y
Set the Executor Variable
Replace <EXECUTOR_URL> to yours
export EXECUTOR_URL=<EXECUTOR_URL>
If you wondering where is the Executor URL

Set Config Executor
yoda config executor "rest:${EXECUTOR_URL}?timeout=10s"
Start Yoda using systemctl
sudo tee /etc/systemd/system/yoda.service > /dev/null << EOF
[Unit]
Description=Yoda Daemon
After=network-online.target
[Service]
User=$USER
ExecStart=$USER/go/bin/yoda run
Restart=always
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF
Start Yoda
sudo systemctl daemon-reload
sudo systemctl enable yoda
sudo systemctl start yoda
Check the logs using journalctl
journalctl -fu yoda -o cat
Logs Should look like this
... systemd[...]: Started Yoda Daemon.
... yoda[...]: I[...] ⭐ Creating HTTP client with node URI: tcp://localhost:26657
... yoda[...]: I[...] 🚀 Starting WebSocket subscriber
... yoda[...]: I[...] 👂 Subscribing to events with query: tm.event = 'Tx'...
Wait for the Band Node to be synced , After Band node is synced you can add and activate your reporter Oracle with this simple command
Add Reporter wallet to Oracle
bandd tx oracle add-reporters $(yoda keys list -a) --gas=1000000 --gas-prices=0.0025uband --gas-adjustment=1.5 --from wallet --chain-id laozi-mainnet
Activate Oracle
bandd tx oracle activate --gas=1000000 --gas-prices=0.0025uband --gas-adjustment=1.5 --from wallet --chain-id laozi-mainnet
Useful Commands
Multi Send Band to Reporter wallet
bandd tx multi-send 1uband $(yoda keys list -a) --gas=1000000 --gas-prices=0.0025uband --gas-adjustment=1.5 --from mywallet --chain-id laozi-mainnet -y
Add Reporter wallet to Oracle
bandd tx oracle add-reporters $(yoda keys list -a) --gas=1000000 --gas-prices=0.0025uband --gas-adjustment=1.5 --from wallet --chain-id laozi-mainnet
Activate Oracle
bandd tx oracle activate --gas=1000000 --gas-prices=0.0025uband --gas-adjustment=1.5 --from wallet --chain-id laozi-mainnet
Check Oracle Status
bandd query oracle validator $(bandd keys show -a wallet --bech val) --chain-id laozi-mainnet
Output :

Last updated