Tinman ChangessteemCreated with Sketch.

in #python6 years ago

image.png

One of the official products I'm working on at Steemit, Inc. is a tool called Tinman:

The tinman set of utilities is a set of scripts to create a testnet. A tinman testnet allows all, or some subset of, user accounts to easily be ported from the main network.

See: tinman

I didn't design it. It was actually something the blockchain engineers originally cooked up. But we're adhering to the design goals. When I say "we", I'm referring to the SteemWorks Team, which I'm part of. We took over development of Tinman in July.

The first official testnet was created on 2018-08-27 and shortly after that it activated HF20, announced on both @steemitblog and @steemitdev:

https://steemit.com/hardfork20/@steemitblog/released-hardfork-20-testnet
https://steemit.com/hardfork20/@steemitdev/hardfork-20-testnet-details


Snapshot

Before creating a testnet, we take a snapshot of the mainnet. This is done by asking mainnet for every account, 1,000 at a time. This results in a snapshot file containing over 2 GB of account data, plus other things we need to recreate blockchain conditions.

HF19

So far, every testnet bootstraps (starts out) ready for HF19. Then we copy the accounts from the snapshot and initialize each account so that they have a proportional balance to the mainnet.

This means that if alice had 1% of the total value on mainnet and bob had 5%, we try to keep the same proportion on the testnet so that alice continues to have 1% and bob continues to have 5%.

A testnet doesn't have the same number of tokens as mainnet, so we have to adjust the actual tokens for alice and bob, yet maintain proportionality.

In the initial version of Tinman, this was accomplished by creating accounts with an account creation fee above the recommended fee. The fee was then automatically applied to the account as STEEM Power, on the testnet. It's a "fee shortcut" that allows us to avoid extra steps.

HF20

In HF20, this process must be altered. Due to the changes involving account creation, this "fee shortcut" is no longer available. If we attempt to create an account with a fee above the recommendation, the blockchain will reject it and no accounts would be created.

The new process just requires that extra step we were avoiding before (no "fee shortcut"). It's just an additional transfer, no biggie. But if it weren't for this change, the current testnet would be the last.


I want to highlight this because sometimes, getting ahead of a potential problem isn't always noticed. We don't need to deploy a new testnet right this moment. But if we did, and we didn't have this fix in place, it would go badly.

Often in software development, people only see the failures. That's understandable because failures can have huge impact. But getting ahead of problems is what good software developers do. And they do it very often at Steemit, Inc.

Sort:  

Glad to see you post on the workings of tinman, @inertia! Looking forward to reading more on development and improvement of the test net, keep up the good work you do!

Also to note that you decline rewards, but still give a share to @steampeak, that is awesome!

No, @steempeak, the frontend's account (look at steempeak.com for the fanciest steem frontend so far)

Aaaah I got out smartassed haha Take my upvote

So... is this as good as Steem monsters?

I was planning a post on tinman after seeing that it is again maintained. Appreciate your team's work.

Thanks for the heads up on this @inertia. Appreciate it !!

Hi @inertia!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 6.433 which ranks you at #168 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 726 contributions, your post is ranked at #15.

Evaluation of your UA score:
  • You've built up a nice network.
  • The readers appreciate your great work!
  • Great user engagement! You rock!

Feel free to join our @steem-ua Discord server

I'm pretty new to Steem and just found your account and am so happy to read your posts and be catching up on what's going on in an un intimidating and comprehensible way! I'm not the most tech savvy gal but I love Steem and the community and always want to understand better. So thanks, looking forward to staying up to date xo

Coin Marketplace

STEEM 0.29
TRX 0.12
JST 0.032
BTC 63822.89
ETH 3083.13
USDT 1.00
SBD 3.99