Presenting Seed Smart Contract technical details

Paulius Mozuras
Mysterium Network
Published in
3 min readDec 13, 2016

UPDATE: Seed contract is live, find it here:
https://etherscan.io/address/0x4f529990b7f3d1fb4152736155e431c96fd86294

This is a continuation of past series of blog posts from Mysterium team. This time we want to reveal a mechanism which will handle the Seed process, and the code.

Seed round is based on a Smart Contract, which will run on Ethereum network. With this technology we choose transparency, which is going to be among key values of Mysterium Network team.

The goal of this blog post is to share the Seed round logic and get your feedback.

We want to be sure we are fair to our participants with these terms. Your feedback would very valuable before the start of Seed Round.

History shows us that security should be taken seriously. So we want to ask technical people — help us, please take a look at the code and help us identify any potential issues. We have been testing and refining it for some time, but additional expertise, might help to identify an unwanted feature.

Seed Round terms

  1. Minimum goal: 2000 Ethers
  2. Maximum goal: 6000 Ethers
  3. start date: (soon to be decided)
  4. end date: 2017–02–xx
  5. participants will be able to send Ethers to the Smart Contract during Seed period, until maximum goal is reached.
  6. Seed period is defined by Ethereum blocks: [start block] to [end block]. (We will calculate approximate block numbers for specified dates before smart contract is published.)
  7. Smart Contract will lock collected funds until minimum goal is reached.
  8. In case of failure: if [Minimum goal] is not reached before [End Date] — all funds will be returned. Seed participants will be able to refund their Ethers during 2 month window. This can be done by calling function refund(). After 2 month window all un-claimed funds will be sent to [Mysterium Project Wallet];
  9. In case of success: if [Minimum goal] is reached before [End Date] — all funds will be unlocked. We will be able to send those funds to [Mysterium project wallet]. This will be done by calling function transfer_funds_to_project(), which can be invoked by anyone.

By sending Ethers to this smart contract — you will automatically participate in the Seed Round, your Ether address and amount of Ethers will be written into blockchain. This will be public information as everyone can check it. We will use these records to reward you with Mysterium coins once ICO is over, read here about 5x reward for early participation.

Smart Contract address will be published as soon as we deploy contract to live Ethereum network on several places, including our website, medium blog, twitter. We will publish details on how to participate in Seed round in further blog posts.

Please find contract code on github: https://github.com/MysteriumNetwork/Contracts/blob/master/Presale.sol

Smart Contract has been tested with unit test by using Truffle and on Ethereum Test Network.

Your Thoughts

  • If you can verify our code, let us know what you think of it?
  • Do you think these are fair rules? (compensation, length, etc.)
  • Anything else?

For quick response join our slack.

Have a good day ;)

Check our other posts, join our discussion on slack, write a comment or just simply visit our web site for more information.

--

--