VersionChain-idWasm

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