A server app built using Shelf, configured to enable running with Docker.

This code handles HTTP GET requests to /, /cosmos, /ethereum, /solana and /utxoCoins.

Running the sample

Running with the Dart SDK

You can run the example with the Dart SDK like this:

$ dart run bin/server.dart
Server listening on port 8080

And then from a second terminal:

$ curl http://0.0.0.0:8080
Check /cosmos for cosmos chainId and minFee and gas
Check /ethereum for ethereum gasPrice and gasLimit
Check /utxoCoins for utxoCoins minByteFee
$ curl http://0.0.0.0:8080/cosmos
{
  "atom": {
    "chainId": "cosmoshub-4",
    "minFee": "800",
    "gas": "80000"
  },
  "osmo": {
    "chainId": "osmosis-1",
    "minFee": "1000",
    "gas": "100000"
  }
}

Running with Docker

If you have Docker Desktop installed, you can build and run with the docker command:

$ docker build . -t myserver
$ docker run -it -p 8080:8080 myserver
Server listening on port 8080

And then from a second terminal:

$ curl http://0.0.0.0:8080
Check /cosmos for cosmos chainId and minFee and gas
Check /ethereum for ethereum gasPrice and gasLimit
Check /utxoCoins for utxoCoins minByteFee
$ curl http://0.0.0.0:8080/cosmos
{
  "atom": {
    "chainId": "cosmoshub-4",
    "minFee": "800",
    "gas": "80000"
  },
  "osmo": {
    "chainId": "osmosis-1",
    "minFee": "1000",
    "gas": "100000"
  }
}

You should see the logging printed in the first terminal:

2021-05-06T15:47:04.620417  0:00:00.000158 GET     [200] /
2021-05-06T15:47:08.392928  0:00:00.001216 GET     [200] /cosmos