building solc

Posted on Thu 17 November 2022 in tech • Tagged with Ethereum, Solidity, web3, c++, devops

Building Solidity's compiler solc is nothing short of a bear. It is using complex external dependencies like boost with some optional dependencies. Moreover the build depends on specific versions of these packages. This amount of complexity for a compiler is a topic of another post but it does give me …


Continue reading

Store a value globally by address on chain

Posted on Fri 11 November 2022 in tech • Tagged with Ethereum, Solidity, web3

This simple solidity example is super useful for testing transaction processing. It globally sets a value by address which will default to sender but may also be specified.

Solidity AddressStore - Save a value globally on chain


Order of evaluation for Solidity modifiers

Posted on Thu 13 October 2022 in tech • Tagged with solidity, programming, ethereum, web3, modifier

Solidity modifiers are evaluated from left to right. It makes sense to order modifiers in order of those that are most likely to fail to those that are least likely to fail. It is also a good idea to order them from most primitive to most expensive. And prerequisite conditions …


Continue reading

Three steps to document Solididty in SPHINX

Posted on Tue 27 September 2022 in tech • Tagged with solidity, programming, ethereum, crypto, sphinx, tutorial

I was able to get solidity docgen working by implementing a series of three different stages all automated in our build process.

  1. Parse the solc output into actual json.
  2. Load the json file into the documentation system
  3. Use a Jinja template to convert the api document

There is shockingly poor …


Continue reading

Collective Governance

Posted on Mon 22 August 2022 in tech • Tagged with solidity, programming, ethereum, web3

One of the really awesome aspects of developing an Ethereum Smart Contract for NFT Governance is that all the code is open source. For the first time in the history of my career I can share what I am working on.

Currently I am developing a smart contract for community …


Continue reading

Sharing data in smart contracts

Posted on Tue 09 August 2022 in tech • Tagged with solidity, programming, ethereum, web3

Sharing data across smart contracts is not always as easy as it might seem. Here is an example of using getters and setters to share data easily between two contracts.