This is the third and final post in a series on how to use an Ethereum wallet to create your own freelance enterprises. On the In the first post we detailed how to create a tokenand on Second, we showed how to create a digital democracy controlled by these codes. Now we’ll go full circle and create a token Controlled By the organization!
We will modify the token contract to allow it to be minted by your DAO. So save your current DAO address in the notes panel (pay attention to the icon) and Get this source code And you know the drill: Contracts > Publish New Contract > Solidity Source Code > Select Contract
You can fill out the parameters any way you want (yes, emojis are allowed in string fields) but you’ll notice a new field that wasn’t there before: Central Minter. Add here the title of the newly created Democracy Decade.
Click Publish and let’s wait for the transaction to be captured. After he gets at least two confirmations, go to your Democracy contract and you will notice that he now has one million of your new coins. Now if you go to the Contracts tab you will see that there is a new contract DAO dollars (admin page) Nodes on your group.
Select the “mintToken” function on your right, then put any address you own as the “target”, then put the amount of new mint you want to create from scratch into their account. “squeeze”Implement” but Do not press submit! You will notice a warning that the transaction cannot be executed. This happens because only Minter (which is currently set to the DAO address) can call this function and you call it with your main account. But the connection code is the same, so you can simply copy it.
instead of, Copy the contract execution code from the “Data” field. And put it aside on the notepad. Also get the title of the new “Mint” contract and save it somewhere.
Now go back to the Democracy contract and create a new proposal with these criteria:
- as beneficiaryput the address of your new token
- Leave etherAmount Empty
- On the Job title Just write a small description that you are minting new coins
- On the TransactionBytecodepaste the bytecode you saved from the data field in the previous step
Within a few seconds, you should be able to see the details of the proposal. Unlike other fields, Bytecode transaction code can be very long and therefore expensive to store on the blockchain. So instead of archiving it, the person executing the call will later save the bytecode.
But this of course creates a security vulnerability: how can the proposal be voted on without the actual code? What prevents the user from executing different code after voting on the proposal? That’s why we keep the bytecode hash. Scroll a little in the list of “Read from Nodes” functions and you will see the Suggestion Check function, where anyone can put in all the parameters of the function and check if they match the parameter that was voted on. This also ensures that proposals will not be executed unless the bytecode hash exactly matches that of the submitted code.
It’s an old symbol, but it works
Now everyone can vote on the proposal and after the voting period has passed, anyone with the correct bytecode can request that the votes be pooled and the contract executed. If the proposal gets enough support, the newly minted coins should appear on Alice’s account, as if they were a transfer from address zero.
Why transfer from address zero? Because doing the opposite, sending a coin to 0x00 is a way to effectively destroy it, but more importantly, because it says so in the contract code. You can change this as you prefer.
Now you have a centralized minting contract that exists only on the blockchain, which is completely fraud-proof as all its activities are transparently recorded. The Mint can also take coins out of circulation by simply sending its coins for zero processing, or by freezing funds in any account, but Mathematically impossible For the Mint to do any of these actions or generate more coins without the support of a sufficient number of Mint shareholders.
Possible uses of this DAO:
- Create a stable global cryptocurrency. By controlling the total amount of coins in circulation, Mint shareholders can attempt to create an asset whose value does not fluctuate significantly.
- Asset-backed certification: Coins can represent external currency or items owned by a mint and can be proven to shareholders and token holders. As the Mint acquires or sells more of these assets, it can burn or create more assets to ensure its digital inventory always matches its physical counterpart.
- Digitally backed assets. Mints can hold ether or other Ethereum-based cryptocurrencies and use them to support the value of circulating coins
Suggestions for improvements
There are multiple ways in which this structure could be improved, but we will leave it as an exercise and challenge to the reader:
- Currently, voting is done by shareholders based on freely tradable tokens. Membership could alternatively be based on convocation, with each member receiving one vote (or perhaps using… Four-way voting or Liquid democracy)?
- What about other voting mechanisms? Voting rather than logical may be a more flexible arrangement: you can vote to postpone the decision, or you can take a neutral vote but still count as a quorum
- Currently, all proposals have the same discussion period. Can you make this proportional to the proposed value transfer? How do you calculate that into symbols?
- Can you create a better token that can be generated automatically by sending ether to it, which can then be redeemed by burning the token, at a volatile market price?
- What other things can a DAO have or do, besides tokens?





















.jpg)





