Back to Building: Maximum Programmability, Maximum Scalability

I’m Back And Ready To Build
Hi everyone, I am back to put my efforts behind Nexa again. Earlier this year I announced my departure from the Nexa team for the purpose of pursuing other things. Sometimes things don’t just work out.

Maximum Programmability, Maximum Scalability
Even before Nexa launched, my focus in Bitcoin Cash was increasingly moving towards what was possible in UTXO-based smart-contracts. Ethereum and other EVMs unlocked huge potential in the blockchain space with their programmability, but hit a brick wall when their scaling limits were reached. UTXO-based chains have a much higher scalability ceiling, but normally are not very interesting on the smart contract side of things. Nexa really turns this on it’s head though by making a lot of new things possible. Although script in Nexa has huge potential, this was not fully unlocked in practice until we developed Nexscript, which allows a much more developer-friendly format for building complex smart-contracts. This huge potential has yet to be meaningfully be tapped on Nexa, and so I would like to work hard on two areas:

  • Creating comprehensive educational content bringing new developers up to speed on what is possible using the Nexscript language, from learning the basics to building EVM-like smart-contracts.
  • Building out further key infrastructure to act as the foundation for a strong ecosystem and economy on Nexa.

I believe by focussing on these efforts I can contribute the maximum amount to Nexa in two areas I think it could best benefit from my knowledge and skills. If we can build momentum behind Nexa’s unique capabilities then we have a much higher chance of long-term success.

Educational Content
The documentation for Nexscript is already very high-quality in my opinion, but I believe it would be a great benefit to offer an educational series where each article covers a specific aspect of Nexscript that needs to be mastered. I will use a concrete example which will be built step-by-step in a walk-through type format to take people from beginner Nexscript developers to pros.

Infrastructure

I don’t believe we have time to wait for others to come and build key infrastructure projects for us, so it’s imperative that these are deployed as soon as possible. We will have some things to announce about these projects in the coming months, but be rest assured that the goal of these projects is to turn Nexa into a mature blockchain for advanced use cases. A lot of this work will continue from where I left off before.

An Apology
Including an apology wasn’t the way I wanted to announce my return, in fact we unsure whether to announce it at all given that there is likely some amount of animosity towards me in the Nexa community, which I can understand to some extent. But the first two articles that had already been released in the Nexscript educational series were not up to the standard that is necessary. I stupidly OK’d their release without testing them and there were a couple of obvious mistakes in them, most notably that I used block.height global variable instead of tx.time. Block.height being from Solidity. I had spent much of this year in deep learning about Solidity and Ethereum and clearly this therefore slipped into a part of my code. Obviously I was much more rusty with Nexscript than I thought. This isn’t good enough and I have since refreshed my understanding of Nexscript and implemented a testing system with reviews so that this doesn’t happen again.

I would like to point out that the claims that one of the contract was copied from a Solidity Ethereum contract are categorically false and that this claim does not even make sense given that ‘covenant’ contracts are a meaningless concept in EVMs since all contracts are persistent by default.

The code should have never gone out with mistakes in it and it should have never gone out untested and this was a major failure on my part and I won’t let it happen again. Both articles have been tested, reviewed and updated. I made some other improvements to them and added video walkthroughs of the Nexscript playground to also show how to use that for testing purposes.

We are also looking at setting up a Nexscript launchpad, which will essentially be a repo which anyone can import to start building Nexscript-based projects, and it will include all the examples that will be developed in the educational series. We’ll have announcement about this soon.

Final Thoughts
I don’t intend to take such a community-facing role this time in Nexa. I think Nexa now has a great marketing team and I believe my efforts are best spent getting people educated via deep content and getting more infrastructure built out. We will certainly have more announcements about these two objectives in the not too distant future.

For now, back to building.

Paul Church - Nexa Infrastructure

2 Likes