CodeChain-io/codechain-sdk-python

Release alpha version

Closed this issue · 0 comments

Tentative schedule
~7/21

I reconstructed the project.
Setupping project took much time than I thought.
part 1

  • Setup project(README, tox, pipenv, setup.py, test e.g.)
    • tox
  • Change this repository the codechain-sdk-python and make the primitive code as a submodule.
  • Implement crypto lib
    • bech32
    • ecdsa
    • schnorr
    • blake
    • ripemd
  • Finish to write crypto and primitive part of the SDK spec docs
    part 2
  • Complete the primitive lib
    • asset address
    • platform address
    • utility [Do not need to be implemented]
  • Investigate keystore lib
  • Finish to write keystore part of the SDK spec docs
    part 3
  • Implement keystore lib
    • logic
      • pbkdf2
      • hdstorage encoding
      • storage encoding
    • model (~ 11/9)
      • hdkeystorage class (This is put off until use case occurs)
      • keystorage class
    • CCKey class
    • Context(We don't need to implement this layer since we are not going to use this sdk on web browser) ~~(~ 11/16)~~ (~ 11/13)
  • Investigate rpc wrapper (This wil be implemented by @foriequal0, but I will write a spec for this) (I will implement this)
  • Implement rpc wrapper [proceeding]
    • account
    • chain
    • devel
    • engine
    • mempool
    • net
    • rpc (main class)
      (~ 11/23)
  • Rewriting the SDK spec docs until the keystore
  • Investigate helper lib
  • ~~Finish writing helper part of the SDK spec docs (~ 11/30)~~ (I have tried writing this but it was too time comsuming and it didn't seem that much needed)
    part 4
  • Implement RPC wrapper (This should be done before diving into helper lib. I am not sure when @foriequal0 can finish this.)
  • Implement helper lib
    • key
      • local key store
      • memory key store
      • remote key store
      • p2pkh
      • p2pkh burn
      • key
    • rpc
      • account
      • chain
      • devel
      • engine
      • network
      • node
      • rpc
    • core
      • transactions
        • asset mint output
        • asset out point
        • asset transfer input
        • asset transfer output
        • change asset scheme
        • create shard
        • custom
        • increase asset supply
        • mint asset
        • order
        • order on transfer
        • pay
        • remove
        • set regular key
        • set shard owner
        • set shard user
        • store
        • transfer asset
        • unwrap ccc
        • wrap ccc
      • asset
      • asset scheme
      • block
      • invoice
      • script
      • signed transaction
      • text
      • transaction
    • utils
    • tests
    • examples

I decided to include sending mintAsset and transferAsset transactions only in the SDK alpha version. Bold things are needed.