Toacin :. A Managed DAO Solution
Clone or download
Latest commit 517121c Jul 18, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
contracts Create ToacinMath.sol Jul 18, 2017
docs Add files via upload Jul 18, 2017 Create Jul 18, 2017
LICENSE Update LICENSE Jul 18, 2017 Update Jul 18, 2017

Toacin :. A Managed DAO Solution


ToAcin [toh-kuh n] is based on the Web 3.0 concept of a Token of Asset. Toacins serve to allow for real-world and/or digital assets to offer subscriptions (ie tokens), which facilitate a payable distribution of profit via an Ethereum Smart Contract.

Toacins are based on Ethereum's ERC20 Token Standard, with the following additional specifications:


  • isMaster (bool): Is this contract the current Master of the hierarchical chain?
  • Parent (address): The address of the parent for this contract (if available).
  • Child (address): The address of the child for this contract (if available).

Funding (Optional)

  • isFunding (bool): Is this contract currently funding a Toacin?
  • ToacinsPerEth (uint): Number of toacins received for each ether sent.
  • FundingStart (uint): Date/time (in seconds since epoch) of the funding launch.
  • FundingEnd (uint): Date/time (in seconds since epoch) of the funding completion.

(all amounts are denominated in bits)

Types of Toacin Funding

Funding Title Duration Description
Traction Builder < 30 days Discounts based on remaining quantity of subscriptions.
Daily Dutch 30 - 60+ days Daily lots awarded to the highest bidder(s).
Campaign 30 - 120+ days Extended fundraiser with discounts based on date/time of subscription.
Dutch Express < 7 days Timed (Hourly) lots awarded to the highest bidder(s).

Solidity Contracts

There are a total of 7* files that make-up the Toacin Framework:

  1. Toacin_<type>.sol (published on-chain)
  2. ToacinDb.sol (published on-chain)
  3. ToacinFinance.sol (published on-chain)
  4. ToacinFramework.sol
  5. ToacinFuncs.sol
  6. ToacinMath.sol
  7. ToacinSettings.sol

* In theory, this structure would be greatly reduced with improved "upgradeability" of Ethereum contracts.

Code Snippet

function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
    /* Check if sender has balance and for overflows. */
    if (_balances[msg.sender] < _value) throw;

    /* Subtract value from sender's balance. */
    setBalance(msg.sender, ToacinMath.sub(_balances[msg.sender], _value));

    /* Update the receiver's balance. */
    setBalance(_to, ToacinMath.add(_balances[_to], _value));

    /* Notify anyone listening that this transfer took place. */
    Transfer(msg.sender, _to, _value);

Managed Decentralized Autonomous Organizations

coming soon...

View the FIRST100 Toacins →