EOSTARTER is developing a Token Sale Smart Contract system that allows for the crowd-sourcing of projects through a token sale that can be configured with different parameters like staking capabilities, whitelisting requirements, token vesting, etc.
You can read about the initial specs of the Smart Contract here:
TOKENSALE PLATFORM - SCOPE OF WORK
These contracts are intended to support a decentralized Token Sale platform, which allows users to set up a token sale, determine the token sale parameters, and deploy their sale onto the EOS Mainnet.
The token sale platform is a decentralized application based on an open-source smart contract that any project can use to sell its tokens.
The Web Application repository can be found at the EOS Token Sale Platform GitHub Repo
The system requires a project admin , users can can deploy their own token sale contract and assume the admin role or they can use the original contract managed by EOStarter.
Users must deploy and issue their own tokens , EOStater will not have access to token issuance or keys controlling project tokens.
- Project Owner
- Investor
- Application Administrator
- A token contract generator will provide project owners with a copy of the
eosio.token
contract . - Project owner deploys contract using an account they create and control.
- Project owner creates and issues their project tokens.
- Project Owner Creates a pool and sets parameters.
- Application Admin reviews and approves pool.
- Project Owner deposits token to smart contract.
- Application Admin reviews and enables token sale.
- Investor applies to participate in a project pool.
- Application Admin reviews and whitelists investor account.
- Investor agrees to terms.
- Investor project purchases tokens with EOS.
- Investor receives equivalent amount in project tokens.
User Role | Action | Description | Pre-Conditions | Post-Conditions |
---|---|---|---|---|
App Admin | adduser | add a new user | user must not be registered | user is registered |
App Admin | edituser | edit an user | user must be registered | user data is updated |
App Admin | approvepool | approve a pool | pool must comply with requirements | pool is enabled |
App Admin | rejectpool | reject a pool | pool must exist | pool is rejected |
App Admin | startsale | start the token sale for a pool | launch_date and end_date must be valid | users can apply to pool |
App Admin | endsale | end the token sale for a pool | launch_date and end_date must be valid | immediate vesting will be paid |
App Admin | approvesubsc | approve a subscription | user and pool must comply with requirements | subscription is enabled |
App Admin | rejectsubsc | reject a subscription | subscription must exist | subscription is rejected |
Project Owner | addpool | create a new pool | Account must exist and be verified | pool is pending approval |
Project Owner | token_contract:transfer | deposit project tokens to pool | pool must be approved | pool can be enabled |
Project Owner | ownerclaim | withdraw EOS tokens from pool | pool must have funds and vesting schedule met | project is funded |
Investor | subscribe | Apply to a pool | Investor must be qualified and agree to terms | User is subscribed to a pool |
Investor | eosio.token:transfer | Contribute to a pool | Pool must exist and user is verified | User can invest in a pool |
Investor | investorclaim | Claim project tokens from a pool | Account must have contributed | User no longer has tokens in pool |
The following eosio acconts have been created for smart contracts
Please Read EOS Costa Rica's Open Source Contributing Guidelines.
Please report bugs big and small by opening an issue
EOSTARTER is a Community-powered Incubator and Gamified Launchpad for EOSIO projects.
Visit us at: eostarter.org