Secret Testnet progress report for Q2
Thanks to the community support, we’ve been able to set up the stable infrastructure described in the original request, and fulfilled all responsibilities, except the upgrade which is planned for September, or earlier on the testnet.
I’m already running a private testnet with the beta version, more details on this below.
As a reminder, these are the items committed to, with updates inline;
The Committee will hold itself to the following core responsibilities:
-
Run and maintain stable testnet validators to enable new developers to join the network more easily, without having to deal with the pains of having to find a reliable testnet node.
DONE (12 hours)
-
Maintain documentation.
DONE (23 hours)
The following information must be easily accessible and maintained for the current public testnet, and possibly any betanet config where validators can test network upgrades before applying to mainnet;
Similar code in SecretJS templates, simple UI connecting Keplr and interacting with the secret counter example.
https://github.com/scrtlabs/SecretJS-Templates/pull/30/commits/03760a79ccffc6e491bdfe230738c7001ce63d89
Same code used by Pulsar, https://connect.pulsar.scrttestnet.com/
- Script to run your own public testnet, using docker-compose to start the secret node, as well as an nginx server directing traffic from the internet to the correct container (initially only the node and faucet, in future there may be more services like stats or explorer) Letsencrypt will create the self-signed certs. This will allow devs collaborating to test shared contracts or bleeding edge features of an upcoming release in their own environment, without the risk of this committee introducing new bugs or downtime for upgrades while they’re relying on features already released in secret.
This script can also be used to spin up a staging env on demand, once the release is nearing completion, so as not to incur year-round costs for a short term need.
DONE (31 hours), see GitHub - levackt/private-scrt-testnet: Runs a private LocalSecret testnet, with essential services such as faucet and explorer
With this I can easily deploy and test contracts, upgrade the docker version, and retest my contracts.
You can see this in use to test the upcoming CosmWasm V1 on https://beta.scrttestnet.com/
-
Test upcoming upgrades, then upgrade the main public testnet so that other testnet validators can confidently do so too. If there are any issues with the upgrade, the public testnet is unaffected.
Coming up later this month, or September
-
Monitoring, including a webpage showing the current status of any public endpoints.
DONE (16 hours):
Internal monitoring includes the standard Grafana dashboards, as well as PANIC to alert by telegram, email etc.
Current status of any public endpoints is deployed on https://secretnetworknodes.com/
There you can see both testnet and mainnet endpoint status, and I’ve also been updating Cosmos Directory which has more features, but doesn’t yet support grpc web status for example. I may send them a PR to do so, meanwhile I’m still finding our own page helpful, hopefully others do too.
- Keep 3rd parties such as explorers Secret Nodes and Ping Pub informed of any changes, such as chain-id and endpoints
DONE (1 hour)
Additional tasks:
-
Griptape API cluster was shutdown, and Alex of Secret Saturn stepped up to run a backup cluster.
This required many updates to documentation that referenced griptape’s endpoints, Keplr connections, explorers like Ping.Pub and cosmos directory.
As well as these updates, I’ve also deployed an application that allows testnet users to reconnect/configure Keplr for pulsar-2, see https://connect.pulsar.scrttestnet.com/
Total hours: 12
-
While building the private testnet, I fixed a bug in local secret docker where a custom chain ID wasn’t possible. See https://github.com/scrtlabs/SecretNetwork/pull/970
This allows us to run a custom testnet with it’s own chain-id, so Keplr etc has a unique connection for each environment.
Total hours: 4
-
Also while building the private testnet, I ported the local secret faucet from Python to Node, see https://github.com/scrtlabs/SecretNetwork/pull/959
Total hours: 10
-
Support:
There’s ongoing demand for support in discord. I’ve been available to promptly address any issues people think might be related to the testnet.
Sometimes testnet support has some overlap with dev, or requires me to write some code to prove the testnet works and supports the features requested.
4.1 SecretJS Templates:
There’s been some big changes to SecretJS since the templates were last updated, so I’ve been updating the examples to work with the current beta version of Secret.JS.
This is still a work in progress, and so far has taken 12 hours to complete about 80% of the examples, the other 20% could take another 8 to 12 hours.
4.2 Showing how queries work ( 1 hour)
https://codesandbox.io/s/reverent-napier-r6ewh0?file=/src/App.js
4.3 Keplr example for balance (1 hour)
https://codesandbox.io/s/laughing-fog-b2rm36?file=/src/App.js
4.4 Contract example (1 hour)
https://codesandbox.io/s/headless-violet-uv2zow?file=/src/App.js
4.5 Multiple transactions in a block (1 hour)
Discord discussion over several days, with proofs from SecretJS templates to support the feature.
4.6 Faucet
Currently the faucet is down, so I’ll manually send tokens when people need it, but we should probably run another testnet faucet as either backup or the new primary faucet.
Estimate is about 4 to 8 hours to deploy on the same infrastructure used for the API server, so no additional hardware required.
Expenses for Q2:
We currently have 7 compensated validators, plus 4 of the committee, and 2 recently joined. I’ve reached out Ertemann who seems to run one node, and I don’t know who the other validator is (sgx-bad-boy)
As there’s room for 3 more, if you’re also a mainnet validator, I urge you to contact me and get looped into the testnet validator group, to stay informed of upgrades and get an equal share of the bonded tokens.
- Backup endpoints
Initial budget was for the same spec as validator nodes, we’ve bumped this up to compensate more fairly for the beefier hardware and extra overhead of archive nodes and the load balancer.
Stake or die was hardly breaking even with their expenses and the accounting was a burden, so instead of $800/month, this is now $1200 monthly after comparing the expenses incurred by myself and Alex of Secret Saturn who took over from Stake or die.
$1200/month * 2 = $2400
-
Committee validators
$250 * 4 validators * 2 months = $2000
-
Committee archive nodes and endpoints (total $2400)
$400 * 3 nodes * 2 months
-
Secret nodes explorer $300
-
My hours:
Estimated $120 * 90 = $10800
Actual: $85 * 90 = $7650 (In reality I went over the 90, but this is the budget)
-
Small once off expenses like domain registration have been absorbed by me.
Grand total for Q2: $23,250
Surplus funds: $2,350
Q3 estimates:
Estimate for Q3:
My hours: 58 * $85 = $4930
-
New/Backup testnet faucet: 8 hours
-
Network upgrades: 20 hours
-
Support: 30 hours
-
Secret node explorer: $900
-
Validators and committee expenses: $20850
-
Surplus from Q2: $2350
Total ask excluding buffer: $20850 (expenses) + $4930 (hours) - $2350 (surplus) = $23430
Transparency
Payments to validators:
I won’t link to validators’ wallets, but I’ll show amounts paid to each validator, and you can compare this on the explorer, and validators can object if they disagree.
Any of the validators receiving funding, can of course check the account they receive from to see if these transactions make sense.
If someone like pmueke | SecretSauce would like to check transactions on behalf of the community, I’m more than happy to comply.
Hours:
In terms of hours worked, many of you are experienced to know how long these tasks should take, and my activity on github is public and most of it is directly related to the Secret Network activities I committed to.

Rate:
Initially I asked for the same rate as the other devs, a bit lower given I expected some easier admin work already well documented.
They have since reduced, and I’ll match the $85/hour retroactively and going forward.
Thanks for your support, it’s much appreciated.