In order to integrate with the MultiversX Network and be able to broadcast transactions and query blockchain data in an optimized approach, one needs to set up an on-premises Observing Squad. An Observing Squad is defined as a set of N Observer Nodes (one for each Shard, including the Metachain) plus an MultiversX Proxy instance which will connect to these Observers and provide an HTTP API (by delegating requests to the Observers).
Click the Deploy to DigitalOcean button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.
In addition to creating a Droplet from the MultiversX Full Observing Squad 1-Click App using the control panel, you can also use the DigitalOcean API. As an example, to create a 4GB MultiversX Full Observing Squad Droplet in the SFO2 region, you can use the following curl
command. You need to either save your API access token) to an environment variable or substitute it in the command below.
curl -X POST -H 'Content-Type: application/json' \
-H 'Authorization: Bearer '$TOKEN'' -d \
'{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image": "multiversx-multiversxfullob"}' \
"https://api.digitalocean.com/v2/droplets"
In full history mode all the data from genesis is retained. This enables querying historical data.
Since the full-archive mode requires additional storage capacity, please add an additional storage volume of 1TB and select the “Automatically Format and Mount” option. This volume will be used to store the blockchain data.
After boot, a systemd service will start to download blockchain archives and once that is finished another service will start the docker compose and run all the MultiversX Observers shards in full-archive mode .
The following tools are available at this path : /opt/multiversx-observing-squad-tools/
./stop_stack.sh #-- stops the observing squad stack
./start_stack.sh #-- starts the observing squad stack
./check_stack_sync_status.sh #-- get node syncronization status
./check_stack_node_version.sh #-- get stack version information
./upgrade_stack.sh #-- upgrade stack version
Once the stack is in sync you can query the proxy for information :
curl -s -k localhost:8079/network/config
Full list of supported operations in snapshotless mode can be found here: https://gateway.multiversx.com/