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