There is such an open source project called SMRT16 - https://github.com/SMRT16/SMRT16-Truffle-project
This is a decentralized enterprise. Or better to say, it is most decentralized enterprise ever!
It is published and the code confirmed on Etherscan here: https://etherscan.io/address/0xdabb0c3f9a190b6fe4df6cb412ba66c3dd3e2ad1#code
So, let's dive in SMRT16 code and try to figure out what is what
It does not have a head. No management, no main beneficiar - there is no owner, who gets the main profit.
The company still supposed to generate profit for its shareholders and pay monthly dividends.
Amazing thing is decentralized marketing of the company: it is a multilevel referral program. You can check the logic of it by following the https://etherscan.io/address/0xdabb0c3f9a190b6fe4df6cb412ba66c3dd3e2ad1#code and go to line #738:
First level referral get's the 1/2, 2nd - 1/4, 3rd - 1/8 and 4th the last gets 1/16.
Referral payments are instant - smart contract shares the price of paid in the same transaction.
Let's say some of your friend decided to become a shareholder of SMRT16. The way he can buy the shares is to come to one of the existing shareholders. Anybody who bought a SMRT16 tokens even for a smallest possible amount of 16e-18 of ETH will have a special Personal Smart Contract of SMRT16.
Let's go and see it in the code, the logic if token sale is in the function "buyTokens" which starts from the line #680:
I have underlined the string where it calls for "_createPersonalContract" #686.
Find out your Personal SMRT16 Contract address you can anytime by communicating with the Main SMRT16 Contract: all the information stored in the blockchain.
and call function 7. getPersonalContractAddressOf putting your ETH wallet address as the argument, like me:
And here we go!
0x7D0988C8F72Fc5D984F67639396bcfac02646828 is my Personal SMRT16 Contract address
If you transfer ETH on it - you will have yours - and I will have 50% of the ETH you transfer immediately.
The price of SMRT16 is 100 tokens per 1 ETH
Do you have any questions? Please, write in the comments :)
In my next posts I will try to explain other functions of SMRT16 project.