The purpose of the project
The purpose of the project is to provide nonprofit projects with their own cryptocurrencies with unlimited (infinite) supply of money for each project, limited only by project rules and needs.
This way, I am going to change the entire world economy as described in this article: It is no more capitalism, neither it is communism, it is going to be nonprofit economy based on infinite amount of money for each nonprofit.
The tokens overview
Every project at our site can create its own ERC-20 Ethereum token. The site itself also has its token CryptoNGO (CRY) of the same smart contract kind as other tokens from our site. You purchase this token to help all nonprofit projects listed at our site. Purchasing it may be a good investment, because power of cryptocurrency ICO price grow unifies with power of doing good deeds, possible producing a multiplying effect of regular price grow speed with the power of investing into good.
The smart contract of the token stores an amount for each possible Ethereum address behaving just like a normal cryptocurrency like BitCoin with one exception: The token creator’s address holds an infinite amount of money. (When creating the token, the account owner promises to use this money only for a certain nonprofit project, or send surplus Ether to nonprofits of his choice.) For convenience of Ethereum crypto-wallet holders this infinite amount of money is displayed as 1024 tokens (and does not change when the money are spent or received to this Ethereum address).
The contract address can receive Ether cryptocurrency. When it receives Ether, it automatically sends back tokens (of the amount described by the below formula).
Each contract has an owner account. The holder of the owner can withdraw the Ether to his account or any other account using a special smart contract API call (also implemented as a Web form at our site). The owner can transfer his owning rights to anybody other, making him owner instead. (This operation is irreversible.)
Technical description of the tokens
- Blockchain: Ethereum
- Token kind: ERC-20 smart contract
- CRY token address: 0x35e61F72873E53E685F5deAFD67FEC47654c537e
- CRY token name: CryptoNGO
- Contract source and version is available
- API: standard ERC-20 plus
etherReceivedholds the total amount of Ether received to the contract address
setOwner(address owner)changes the owner
withdrawEther(address _address, uint256 _amount)transfers Ether from the contract to a given
_addressor to the owner’s address if
The formula of the price grow
At first I wanted investors to mine the crypto for themselves. I considered a few variants and stopped at so called “co-mining”: they mine Ether (the main Ethereum currency) and at the same time my system would create for them their own cryptocurrency for them in the same amount as mined Ether.
But later I realized that there is a better way: I can just sell my crypto for Ether. My final ERC-20 contract contains the code which automatically sends back some tokens to anyone who sent some Ether to the contract.
It remained to conceive the exact formula for the amount of tokens to be sent back.
The amount of tokens sent back should grow over time (otherwise the price of the generated tokens would in no way grow and thus they would be completely useless). The first idea is to make the price dependent on the date. But that dependency would be too arbitrary: money and time are two different measures and there is no natural conversion between them.
So the better idea is to make the price dependent on the amount of money paid for the entire period earlier. The first variant which came to my mind was to make the dependency exponential. But I realized that after a few years our 256-bit counter would probably overflow.
Also exponential is not as good as it seems: The price would grow exponentially for a short period of time and then would fall just like BitCoin. I thought we need more stability.
The final formula for the amount of tokens sent back is: e2/(T+e) where T is the total amount of Ether received to this token before the purchase and e is the amount of Ether sent in this transaction.
So, the price grows about linearly over the time and the sales grow quadratically, don’t them? No! The number of sales also grows over time. So the sales to grow maybe as the fourth degree or maybe even exponentially or like this for some time!
I also considered other formulas, such as e3/(T+e) or e4/(T+e), but decided: let price grow slowly but steadily.
I found that a buyer gets different amount of tokens if he does one Ether payment or several (e.g. two) Ether payments summing to the same amount of Ether in a row. I considered it unjust. So I tried to find a formula which would avoid this problem.It was unsuccessful: I asked a question at math.stackexchange.com site for math questions and then answered my question myself. The answer points that there is no good solution to this problem. If you know higher math, you can follow my solution.