ConstitutionDAO
History was made this past week by ConstitutionDAO: a DAO created for the purpose of buying an original copy of the US constitution. Here’s a neat summary of the DAO from their website.
Ultimately, they didn’t win, but what they did was still remarkable. This tweet summarizes it well:
It’s a bit disappointing (though unsurprising) to see that most headlines about ConstitutionDAO are focused on its loss in acquiring the national document; I imagine it’s a bit scary to powerful, rich individuals and organizations that a group of 10k random individuals could raise that much money to own something so foundational. And sure, the loss is big news, but this was the FIRST time a decentralized organization raised this much money to buy a physical asset. How many v0s are successful?
What’s more important than focusing on the loss is to appreciate the significance of ConstitutionDAO’s participation in this auction and the potential of DAOs to rally around a cause.
I haven’t joined any DAOs myself, but I plan to, mainly to observe the organizational structures used to unify thousands of people around a cause while maintaining decentralization. ConstitutionDAO’s discord has 21,000+ members. How do this many people get anything done? Will post more about my research here in the future.
On-Chain NFTs
A recent set of NFTs called Chain Runners shot up in value. They were 0.05 eth ($200) to mint, and now have a floor price of 2.5 eth ($10,500)!!
I’m sure the price shot up because some smart people tweeted about it:
...but there’s a bit more to the hype; Chain Runner NFTs are fully on-chain. If you’re familiar with NFTs in general this statement may confuse you - aren’t all NFTs on-chain? Isn’t that the point of NFTs?
NFT ids are typically on-chain, but for most current projects the metadata (like image data) lives on centralized servers. This means the fate of your NFT can still be tied to the fate of whatever company owns the servers its data is hosted on. And this data isn’t protected; it can be modified. If all the metadata is on-chain, however, your NFT will last as long as ethereum lasts.
Here’s a great thread on the subject.
And a cool graphic that summarizes it:
Solidity
I finished lessons 3-4 of cryptozombies.
Again, I won’t summarize the lessons but will go over a few notes that I found interesting.
Contracts are immutable after they’re deployed. This means that if you have a bug in your contract code, you can’t deploy a fix; you’ll have to redirect your users to a different contract address. The upside is that you can trust that the code will do what it’s meant to do always. No one can introduce bugs later on.
Optimize your code to reduce the complexity of on-chain transactions. This is a shift from how I’ve programmed in the past (non-web3 apps) and can produce some weird-looking code, but it’s important because users pay gas fees when they perform an action that creates a transaction on the blockchain. These fees are proportional to the complexity of the operations in the transaction. Note that transactions are only created when a modification needs to happen on the blockchain; there isn’t a transaction created for simply viewing data. Solidity introduces a couple of keywords to identify functions that don’t create any modifications: view and pure. View functions view blockchain data, and pure functions don’t view or modify blockchain data.
‘payable’ functions are functions that can receive Ether. This has never been possible before. No function I’ve written in the past had the ability to send or receive US dollars. Enabling functions to receive currency is possible on Ethereum because ether, your contract code, and the transaction payload all live on Ethereum and thus can interact with each other. This is how you can build an app that can receive eth as payment for something, say, an NFT.
Thank you for reading. If you have any thoughts, questions, requests for future posts, reach out to me on Twitter.
Nice writeup capturing the salient points !!