I'm usually pretty good with but this has me stumped. I'm a fairly hard core C++14/17 embedded programmer attempting to learn the Ethereum blockchain. I'm starting with Solidity via a Pluralsight course.

The more I learn, the more I'd like to write contracts in C++. Trouble is, I can't find any articles/questions/code/anything. My current search is: ethereum "c++" contract abi definition.

So finally here is my question: Can someone share a set of search terms and/or links to actual references to get me started?


You cannot write Ethereum smart contracts in C++. Only the Solidity language has any real following, but there's also the Viper and two others (LLL and Serpent which are fading). These other languages have much smaller followings.

You won't find any information on writing C++ smart contracts. There is talk of people working on combining WebASM with the EVM (and I believe the latest version Parity may have this partially implemented). Full support would presumably allow any language that can be compiled down to WebASM (including C++) to be used, but that is not possible at this point.


After some fairly serious deep-diving, (including the Solidity C++ source code), it turns out I incorrectly ass-U-me'd the 'problems' that prompted my post were inherent in Solidity. Not true. The EVM is such a restricted machine that my predilection for things like strong types, RAII, etc. when writing contracts aren't all that relevant yet. And contracts are only a small part of the Daap eco-system.

For what it's worth, here are some sources that may help others with similar questions.

There are also two very good videos that help introduce the technology: "An Introduction to Blockchain with Mark Russinovich" and "Inside Coco Framework, the Foundation of Blockchain for Enterprise with Mark Russinovich". Sorry about the lack of URIs - I'm limited to 2.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.