DAO – Part IV

Julien Klepatch

In this video, we are going to allow investors of the DAO to:

  • create investment proposals
  • vote on each investment proposal

We will manipulate Solidity mappings a lot, including nested mappings. We will also use a storage pointer, to be able to manipulate a struct instance more easily.

Any investors can create an investment proposal with a name, an amount, and a recipient address. The recipient address is another smart contract that will receive the smart contract. It could be the smart contract of an ICO for example. We also need to not commit to an investment proposal if we don’t have enough ether in the smart contract. If might look as simple as comparing the investment proposal to the amount of ether stored in the smart contract, but there is a caveat.

Once a proposal is created, all investors can vote. We will need to make sure that nobody vote can vote twice, and that a vote can only occur within a specified period of time.


Leave a Reply

More great articles

Debugging with require and revert

In Solidity, require and revert statements are used to check some pre-conditions before executing the main part of a function.…

Read Story

Types of Solidity runtime errors

"out of gas", "revert", "invalid opcode", what are all these weird error names in Solidity? In this video I will…

Read Story

Testing integers in smart contract with Truffle and bn.js (Big Number)

In Solidity smart contract, you might have to deal with huge numbers, especially when doing financial transfers. Don't forget that…

Read Story

Never miss a minute

Get great content to your inbox every week. No spam.
[contact-form-7 id="6" title="Footer CTA Subscribe Form"]