Both tokens (SMARC and LOGI) are based on MiniMe token. This allows us to have fully-functional ERC-20 tokens with just a couple lines of code and to reduce amount of restrictions for further functionality. All additional facilities, like voting, will be implemented through MiniMe cloning abilities.
MiniMe token is used as is except cloning functionality - factory and createCloneToken() method had been deleted. This significantly decreased deployment gas amount for both tokens.
Note from Smart Containers Team: There will be hurdles with paying out dividends according to Swiss Law (KYC process, deduct 1/3 taxes from full dividend amount, etc.). We expect to pay out first dividends in 2020 for year 2019. So we have decided to not fix dividend payments in the smart contract today but cross the bridge when we get to it. It could be that Swiss legislation has changed until then when it comes to token dividend distribution. Through implementing the MiniMe Token, we can ask our tokenholders how they want to proceed with the dividend payment when we come to it (there are several options how we could execute this). Please note that we are legally bound by our token sales terms to pay out 20% of dividends to 120 M Tokens. We just haven't fixed it in the contract yet but can deploy this function at a later point in time.
We use Truffle for development and testing.
Install Truffle:
npm install -g truffle
Install testing dependencies:
npm install --save-dev chai chai-bignumber
Launch develop network:
truffle develop
Or you can use pre-configured dev network to connect to any Etherium client on localhost:7545:
truffle console --network dev
Publish contract:
migrate --reset
.
Test:
test
Or you can run tests on develop network without pre-launching:
truffle test
If you meet out of gas issues while testing with truffle develop
or truffle test
then it's recommended
to switch to external client (consider Ganache) instead of built-in one. You should
increase default gas limit to something greater than or equal to 3700000, which is an approximate price of deploying
SMARC contract (LOGI is a bit simpler and cheaper).
See documentation for further scenarios.