0

I am a new in Nodejs and libsodium.js. I have a task but I don't know how to solve it, and from where to start it. I'll appreciate if someone guides me. I have a class wallet inside it I need to generate public and private key then

class Wallet {
   async create(): Promise<void> {
       // must generate public / private key pair
       // you can store files in the leveldb
   }
   async sign(content: string): Promise<string> {
       // must return signature for the given content using previously generated public / private key pair
   }
   async verify(signature: string, content: string): Promise<boolean> {
       // verifies if given signature was generated by previously generated public / private key pair
   }
   async encrypt(content: string): Promise<string> {
       // must encrypt given string and return encrypted string (based on previously generated public / private key pair) 
   }
   async decrypt(content): Promise<string> {
       // must decrypt the given encrypted string and return original string (based on previously generated public / private key pair) 
   }
}

// usage
const wallet = new Wallet()
await wallet.create()
await wallet.sign("I am president") // must return signature
await wallet.verify(signature, "I am president") // must return true
await wallet.encrypt("I am president") // must return ecnrypted string
await wallet.decrypt(encrypted) // must return decrypted string

0 Answers0