вторник, 12 марта 2024 г.

Imagechain Design Plan (SDP-Inkan-Ignat-1-rev-01)

 

  • What problems are being addressed and solved?
    • Creating a working blockchain test network.
    • Launching a wallet with tokens
    • API negotiation between React PW Applications
    • BackEnd launch Django
    • Make MySQL DB or SQLite3 of Image with Dia - A tool for building
      a relational database model from a UML diagram.
  • What are the main tasks of development?
    • Demonstrate working MVP or PoC
  • What software development approach will be utilized?
    • Incremental
      • Counerparty test net (CTN)
      • CTN + CounterWallet (CW)
      • CTN+CW+React APP
  • What are the key functions of the software?
    • Enrich the image with encrypted metadata
    • Copy metadata hashes on the blockchain

    • Verify reliable and separate images using a protocol for
      distributed storage of image chains
  • What is the overall schedule of development and critical path?
    • Setting up a test blockchain network in Docker-Swarm
    • The critical path goes through creating Django modules, editing JS code on Wallet or/and React APP , testing the distributed protocol
  • What is the order of development?
    • I'm making some minor changes to CounterWallet. 
    • I also hope to make an Finite State Machine (FSM)
      diagram for
      a distributed verification protocol

      This is roughly how you can create a token storage structure. From this UML diagram, code is autogenerated with bells and whistles such as views and various indexes into any type of relational database.
      wsgi (python module) runin one process of Http API Post and get REST server for every connection. We will use monolit Django or microkernel Flask or some asynchronous solution, that connected like BE to Django. 

    • When our application will show someone else’s picture is included
      in the his legal chain or not. 
    • The verifier node (BE) or verifier client (FE) shud have a copy of the hash chains. Of pictures or/and truncated information in the database. 
    • A good alternative is to store not all pictures or hashes of the system,
      but only your own pictures and pictures of your neighbors (or hashes=tokens). This way we will be 80% protected from fraud.
    • We can provide verifiers with a special key -
      Account ID to delegated staking pools (validators).
    • Who the neighbors are is a question for the routing protocol(DNS).
      Which can be replaced.
    • Launch a test blockchain network
    • Make a prototype of a distributed protocol based on а proxy
    • Make parsing received new blocks on the blockchain (something with relatively new crypto hashes)
  • Who is in charge?
    • Ignat
  • What are the team responsibilities (Responsibility Assignment Matrix)


  • How is the project divided up?
  • How is quality control going to be implemented and measured?
  • What Risk Planning do you consider?
    • In software development, risk can be defined as any event that has the potential to compromise the success of  our digital project. Poor code quality issues that result in remote code execution could lead to the following business impacts: Information Theft; Reputational Damage; Intellectual Property Theft.
    • Competitors have already made a similar decision. They are open source and you can migrate to their infrastructure. But the codebase can be complex. This is the Rust language. And not well-known frameworks. It might be better to borrow individual modules from their solution.
    • Social, ChatGPT  We have a ready-made API for social networks, and I also have an AI model for North African languages. We could act more intelligently. To certify university diplomas, as well as create software that plantation workers in Andalusia from Africa can use.
    • To guarantee code quality, we need to carry out a full survey of the OS code of all free software modules, of which there are a huge number on FE