Release Note — Sprint 0.0.6
Hello, World!
Greetings from Team YGGDRASH.
We are here to notify the update on the Sprint 0.0.6 to our YGGDRASHERS.
Details of the updates can be found on Github :
https://github.com/yggdrash/yggdrash/releases/tag/v0.0.6
YGGDRASH Release Note
Node
○ Designed the Stem branch and configured genesis
○ Added the BranchGroup for executing the multiple chains
○ Configured dynamic branch preferences
○ Added BlockChainBuilder when adding a new branch
○ Separated the role of NodeManager and BranchGroup
○ Implemented to load and execute stored transactions when starting a node
○ Implemented to execute the genesis of Stem or YEED contract when starting a node
○ Implemented to prevent ConcurrentModificationException in the transaction store
○ Implemented indexing of block store
○ Modified the flow of TransactionBody execution
○ Modified the format of branch.json
○ Modified the format of genesis.json and genesis implementation
- The genesis method of contract can be executed only once when the node first starts to run
- Generate the genesis method of StemContract with the params when creating GenesisBlock by branch-stem.json
- The first index of params in genesis.json has changed to the array
- The operator and frontier properties of genesis.json each has changed to method and params.
○ Configured docker image build in the docker-compose.yml
○ Added docker deployment script and staging step in the bitbucket pipeline
○ Configured docker volume for the node container
Network
○ Added PeerGroup for peer and channel management
○ Added block synchronization and broadcasting for each branch
○ Implemented preventing block generation when synchronizing blocks and transactions
○ Moved GRpc server and client channel functionality to node project
Contract
○ Added a Contract abstract class
○ Refactored the StateStore to implement the Store interface for using generics
○ Available to use different attribute stores for each contract
○ Implemented StemContract
- Added a BaseContract class that implements the contract interface
- Implemented four basic methods of StemContract such as create, update, search, and view
○ Added StemContract owner validation
- Check whether the issuer of the transaction is the owner when registering and updating branch
API
○ Updated TransactionApi by reflecting the modifications of the node
○ Updated the jsonrpc-api.md
○ Added Contract API interface
○ Implemented the Contract API
- Available querying to StemContract
○ Implemented retrieving all transactions
○ Implemented retrieving the latest block
○ Implemented retrieving the blocks by offset and limit
○ Implemented retrieving the status by branches
○ Implemented WebSocket for pushing blocks and transactions in real time.
CLI
○ Implemented creating a transaction with JavaScript
○ Implemented create and view an account
- View balance
○ Implemented generating branch.json with seed.json, which is the stem’s config file
- Register branch to stem with generated branch.json file
○ Implemented transferring YEED coin
Explorer
○ Applied Vue.js framework
○ Implemented retrieving blocks, transactions, and state in multiple chains
○ Implemented retrieving data in real-time using web socket streaming
○ Applied reactive design
Please check out the demo video we uploaded on YouTube that displays the test screen of a node, the implementation of CLI, the API, the contract, and the YGGDRASH explorer.
Thank you for your ongoing support and faith in YGGDRASH Project.
<Team YGGDRASH>
Official YEED Smart Contract Address:
0xca2796f9f61dc7b238aab043971e49c6164df375