KimlikDAO / kimlikdao-js

📚 KimlikDAO js library

Home Page:https://kimlikdao.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Noble `secp256k1` birimini Google Closure Compiler için annotate edelim

KimlikDAO-bot opened this issue · comments

dApp'te ve js workerlarımızda secp256k1 kullanmamız gerekiyor. Örnek kullanımlar:

  • dApp'te emaille imece iptalci eklediğimizde hayali private keyler yaratıp bu private keylerle revoke permit imzası atmamız gerekiyor (ve sonra bu private keyleri unutuyoruz)
  • İleride dApp'te imza otoritesinden (bu otorite tek bir entity olmak zorunda değil; keza ileride 2 of 2 threshold signature olacak) gelen imzaları validate edebiliriz.
  • HumanID bir kontrata yazılabileceği için, sepc256k1 imzası taşıması gerekiyor. HumanID oluşturan her birim secp256k1 imzasi atabilmeli. Bu şekilde on-chain TCKT elde edebiliyoruz.
  • imza sunucu edevletten aldığı bilgileri ed25519'un yanısıra sec256k1 ile imzalayabilir

secp256k1 için noble crypto'nun implementation'unu kullanacağız. Biz hem type checking hem de optimization / minification için Google Closure Compiler kullanıyoruz. Google Closure Compiler javascript'in type annotated olmasını gerektiriyor.

signatures branchinde crypto/secp256k1.js dosyasının içeriğini ts'ten GCC annotated js'e geçirmemiz gerekiyor.

  • crypto/sha3.js teslerini çalıştıralım:
yarn
make build/crypto/test/sha3.compiled-test.js