Skip to content

Setup initial codebase #1

@maektwain

Description

@maektwain

Starting work

The simple starting point code would look like this, where we have a basic folder structure, to begin with like a directory that contains RPC codebase, data struct for almost everything like we call this model.

The testing directory that contains a test, docs, and some libs or utils

  1. Simple go-based boilerplate with a data structure that includes the subnet basic library for proof of stake with ability to stake,

  2. Mapping the Merkle DB that can store and commit fast DB change

Consensus

The idea is to use snowman, Avalanche package that we can import from here https://pkg.go.dev/github.com/ava-labs/avalanchego@v1.7.2/snow/consensus/avalanche

The above example for consensus to be included and use the consensus as an abstraction for to extend.

The above is just an example here to show or demonstrate , the actual work will be different

Networking

Adding the node peer to communicate using gossip protocol

DB

Right now the ability to have the DB from where the state can be preserved in one single shot , say a merkle DB, done some research that might be required to plug in https://pkg.go.dev/search?q=merkle&m=package

Level DB , RocksDB

RPC Instances

Implementing RPC calls like creating a new block, transactions, etc...

Staking Support

DNS Methods

Conclusion

The boilerplate could be a good start for us to figure out many ideas and put them together for metaRoot

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions