juno uni testnet performance

Computes the 10th fibonacci number once every minute by running a smart contract deployed on the uni testnet. Reports information about execution time.

The smart contract used can be found here. The input to the smart contract is this bytecode. Click an image below to download the raw data.

To calculate elapsed time for contract execution the time that the execute command was sent is subtracted from the timestamp field on the transaction the contract is included in. The timestamp field tracks the time of the previous block being mined so this number is occasionally negative. If we assume that over short timescales the time between blocks being added is roughly constant then the numbers here will only be off by a constant offset. As such this may still be useful for investigating long term trends in testnet performance.

last hour

last day

all time




more information

the script used to perform a measurement


#!/bin/bash

set -e
set -o pipefail

function measure() {
    local wallet=$1

    local start=$(date -u | awk '{split($0, spaces, " "); print spaces[4]}')
    local tx=$(junod tx wasm execute juno1sr06m8yqg0wzqqyqvzvp5t07dj4nevx9u8qc7j4qa72qu8e3ct8qm0adwt '{"bytecode":"AQoAAAAOAgAAABEAAAAAAgAAAAABAwAAAAsKAAAAAgAAAAABAQAAAAQAAAAADvr///8NAQAAAAECAAAABAAAAAAO9v///wMAAAAADwAAAAA="}' --from $wallet --output json --yes | jq -r '.txhash')

    sleep 60

    local end=$(junod query tx $tx --output json | jq -r .timestamp \
		    | awk '{split($0, d, "T"); print substr(d[2], 1, length(d[2]) - 1)}')

    datediff $start $end
}

if [ $1 == "" ]; then
    echo "usage: $0 "
    echo "computes the 10 fibonacci number using the clockchain juno evaluator and reports the time taken."
fi

measure $1

junod config


$ junod config
{
  "chain-id": "uni",
  "keyring-backend": "os",
  "output": "json",
  "node": "http://35.82.116.241:26657",
  "broadcast-mode": "sync"
}