Let’s say you’re executing a lot of Ethereum transactions, some manually and some scripted. When the dust settles, you need to make certain that everything went perfectly because there’s a lot riding on it. What’s the best way to satisfy yourself that it all went down as planned?

A Flurry of Activity

I recently spent about 26 hours engaged in what is arguably the most intense set of network interactions of my entire career. The stakes were high, and the clock was ticking.

The job?

Deploy 4 smart contracts to the Ethereum mainnet and prepare them with their initial state data.

The next day we were to open our “Founders sale” on Open Sea, the leading NFT marketplace. Our Discord was going bonkers. Buyers were queued up like the teeming masses pressed against a Target storefront on Black Friday morning. When does the sale start???

Each of the contracts has a set of management roles associated with it that need to be set to the right wallet addresses, or control of them could be lost entirely.

The gas cost alone to initialize the data on one of these contracts amounted to over $1,700 USD and over 1000 scripted transactions. If a transaction failed, I had to restart the script, so I couldn’t go to sleep. Gas prices fluctuated during this long march, and each time I restarted the script I needed to check the current gas price and determine if I needed to give each transaction more gas, so that it would complete faster. But not too much, or we’d be overspending.

The project was Avastars, a collectible NFT effort I’d been working on non-stop for the previous 7 months, and into which my client had a lot of time, money, and reputation invested.

And the thing about Ethereum contracts is, once they’re deployed, they’re immutable. You can’t fix a bug on a contract without redeploying it and moving over all the state from the old contract, also an expensive and tedious process.

Failure was, needless to say, not an option.

Meanwhile, at my terminal, everything that could go wrong did go wrong. And, it seemed, everything that couldn’t go wrong also went wrong.

I kid you not, midway through the process, my router was hit with a sustained DDOS attack, taking my network offline for several hours. I switched to my cellphone’s hotspot and forged on.

In the end, the contracts were deployed, their states successfully initialized, and all was, seemingly well. I even took the next day off and relaxed (if you can call wrestling with the layout of a tech book all day relaxing).

Now, a little less than a month later, Avastars is the number 6 project in 7 day trade volume on Open Sea. And this is just from the initial promotional NFTs that I minted during that arduous session.