INS Ecosytem update, Week of September 11th, 2018
Application Logic
Here’s what Application Logic accomplished during the last week:
- Bootstrapper component for initial launch of the system. This component is in charge of uploading initial types and data into Ledger.
- http/json API for addressing the system. This API allows creating members, viewing balance, data on a precise member or all existing members.
- RootDomain smart contract, acting as interlayer when calling API. Also, RootDomain is the parent contract of all other contracts.
- Compilation and creation of plugins for all smart contracts that exist right now: Wallet, Member, Allowance, RootDomain.
- Integrational tests for all contracts are ready. The tests check smart contracts’ launch and work within real system components.
Network
For Network, we have accomplished the following:
- Cascade — a staged data transfer algorithm — for transferring messages between nodes.
- First iterations for receiving Pulse from Pulsar.
- DHT refactored — high dependency between network components removed, with test coverage increased.
- Work on plans to introduce PulseManager — an entity that allows receiving current Pulse and setting a new Pulse.
- System configuration documented.
- An adapter for logging with tagging that includes additional metadata (package name, functions, file, line number).
- Subsystem for collecting metrics.
- Jet Coordinator (shard chain controller) interface defined, with iteration that uses configuration file.
- Integration between Message Router and Jet Coordinator.
- Transformation from Reference(NodeID) to DHT object being addressed.
Ledger
- PulseManager implemented. This component stores current time slot of a Pulse and entropy data for current and all future and past Pulses. The entropy is used for all pseudorandom calculations on the platform.
- First iteration of Jet Coordinator. This component allows detecting the exact network node, within which a smart contract must be fulfilled or its results must be stored.
- Integration with LogicRunner (Smart Contracts). We have run relevant tests for basic cases to make them work correctly.
Smart Contracts
We have simultaneously launched test contracts — Member, Wallet, Allowance, Domain — on the ledger. As a result, now we can work with Delegates and child contracts.
- Delegate contract fully belongs to the parent contract. Delegate is created by a third party and executes functions of the third party in the parent contract.
- Parent-child connection is a relationship between the contracts. This way a child contracts always knows his parent contract and parent contract monitors all his children.
A lot of work was done in the Preprocessor (now renamed into Compiler) to make the contracts function fully. Check a short video, showing how different smart contracts can exchange funds on our platform.
Congratulations @hngtao! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!