NiluPlatform / NIPs

Repository of Nilu Improvement Proposals
1 stars 0 forks source link

Review NIP1 #1

Open mariameda opened 6 years ago

mariameda commented 6 years ago

First NIP is available at https://github.com/NiluPlatform/NIPs/NIP/nip-1.md . NIP-1 is still in draft status, waiting for community 's discussions and edits.

p-s-dev commented 6 years ago

https://github.com/NiluPlatform/NIPs/blob/master/NIP/nip-1.md

7 ... distribute bank account owners’ profit

possibly consider "PullPayment" model, as it may be more simple than "PushPayment". https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/payment/PullPayment.sol

mariameda commented 6 years ago

I think it is a good idea for a contract act as second level bank which should settle with so many individual in small amounts. NIP-1 is concentrate on the behavior of meta bank that is something like central bank of countries which just works with big entities like other banks. As explained in NIP, minimum for deposit in meta bank is relatively high, so logically it will lead to establish second level banks (contracts which act like regular bank and collect small entities and individuals NILU), each of them can have their own business model and their own mechanism for minimum of deposits, payments period, interest rate, pull payment or push payment. These second level banks are not limited to the official one and can (and should!) be developed by others.

mariameda commented 6 years ago

First version of Metabank contract is available at: https://github.com/NiluPlatform/smart-contracts/blob/master/Metabank.sol Please review and put your comments.

mariameda commented 6 years ago

Second version of Metabank contracts is available at: https://github.com/NiluPlatform/smart-contracts/tree/master/Pod

After revising first version of metabank, it seems that metabank needs to handle contract depositors different from regular depositors, adding such handling make contract so complicated. As this contract address should be hard coded in the core, any change in contract need another fork. To prevent such things, we separate concept of balance holder from its manager, so now we have 3 contract: 1.Safebox (store all pod benefits and user deposits, address of this contract should be hardcoded in gilu core) 2.Metabank (manager of safebox who hold all details about user deposits and payments) 3.SafeboxVoteHandler: This contract will be used for voting to change metabank address to another contract, if 0.1 of available balance accept the vote metabank contract which allows to manage safebox will change.)

Please review and put your comments.

flexgod76 commented 2 years ago

Second version of Metabank contracts is available at: https://github.com/NiluPlatform/smart-contracts/tree/master/Pod

After revising first version of metabank, it seems that metabank needs to handle contract depositors different from regular depositors, adding such handling make contract so complicated. As this contract address should be hard coded in the core, any change in contract need another fork. To prevent such things, we separate concept of balance holder from its manager, so now we have 3 contract: 1.Safebox (store all pod benefits and user deposits, address of this contract should be hardcoded in gilu core) 2.Metabank (manager of safebox who hold all details about user deposits and payments) 3.SafeboxVoteHandler: This contract will be used for voting to change metabank address to another contract, if 0.1 of available balance accept the vote metabank contract which allows to manage safebox will change.)

Please review and put your comments.

I have proposal a major source of funding