-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
Milestone
Description
- Superficial problems
- Separate runtimes
- Verification on chain
- Data construct(computation) off chain
- Fragmented devtools
- Separate runtimes
- Underlying problems
- An dapp includes an on-chain contract state verification logic and an off-chain data management workflow
- Functional Programming in on-chain verification
- Functional Programming in off-chain data management
- OOP on manipulating off-chain data when interact with dapp
- Lack of unified development paradigm
- Uniformity on engineering
- project structure
- workflow
- Composability on logics
- interoperable models among dapps
- Uniformity on engineering
- Lack of devtools
- Local network
- Compile/Debug/Test
- Deploy
- An dapp includes an on-chain contract state verification logic and an off-chain data management workflow
- How other ecologies are solving these problems
- Engineering
- hardhat
- UTXO development paradigm
- run
- Engineering
- Target
- Unified paradigm for development
-
Data storage
- Basic Models/data structures
- Data: for plain data storage
- Code: extended from Data, for running scripts
- MultiCoin Token: extended from Code, for token management
- Basic Models/data structures
-
Data manipulation
- Data
- Sync: load data from chain
- Get/Set/Delete: update data
- New/Destroy/Duplicate: create/destroy data model
- Code
- Deploy:
- Extend:
- Upgrade:
- Run: call a method
- Link:
- Token
- Define
- Name
- Symbol
- Token URI
- Total Supply
- Mint/Burn
- Send
- Stake/Redeem
- Lock/Unlock
- Combine
- Get Balance
- Define
- Data
-
Reactive Lazy Evaluation
- const model = new Data(init_value) | action_1 | action_2 | … | action_3 =>
Struct {
value
actions: Action[]
}- model will be finalized on consumption
- With lazy evaluation
- the state of model can be traversed
- actions can be revoked easily
- inspector(or other dependencies) could be injected for debug
-
- Fine grind devtools
- Clear project structure
- Compile
- debug
- release
- Debug
- break
- console
- inspector
- Test
- run specific cases
- Deployment
- Configuration management
- multiple network
- hd wallet
- Base contracts/scripts
- Unified paradigm for development
- Resources
- 6 developers
- 6 months
- Roadmap
- M1 ~ M2
- build system similar to https://nx.dev/, only for project structure, basic tasks, and plugins
- design storage paradigm
- design action paradigm
- design workflow with base contracts/scripts
- M3 ~ M4
- implements sdk following the designed paradigm and workflow with base contract/scripts
- design generally used tasks and plugins
- cycle reporter
- script sizer
- test-coverage
- document
- debugger remover
- typechain: https://github.com/dethcrypto/TypeChain/
- storage layout: https://www.npmjs.com/package/hardhat-storage-layout, when to use on-chain/off-chain data
- design local network debug/test/deploy tools
- M5
- implement tasks/plugins
- implement local network
- implement debug/test/deploy tools
- M6
- Use the project to deliver a simple .bit dapp
- M1 ~ M2
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
✅ Done