{"repo":"GuidoDipietro/solana-ed25519-secp256k1-sig-verification","free":true,"listed":false,"github":"https://github.com/GuidoDipietro/solana-ed25519-secp256k1-sig-verification","clone":"git clone https://github.com/GuidoDipietro/solana-ed25519-secp256k1-sig-verification.git","description":"On-chain Ed25519 and Secp256k1 signature verification using instruction introspection","language":"TypeScript","stars":82,"topics":["solana","ed25519","signature-verification","blockchain","solana-program","rust","secp256k1","ethereum","elliptic-curves","elliptic-curve-cryptography"],"license":null,"category":"blockchain-web3","readme_excerpt":"Solana Ed25519 and Secp256k1 signature verification On-chain Ed25519 and Secp256k1 signature verification using instruction introspection. Built for checking Solana and Ethereum signatures, with examples (see tests). Why and how Solana does not have a way to implement Ed25519 or Secp256k1 sig verification on-chain on custom programs. That's why the native Ed25519Program and native Secp256k1Program exist, which have a set of instructions that can, amongst other things, verify signatures for those curves. Therefore, the way to build custom instructions that \"do\" sig verification is by actually sending a transaction made of (at least) two instructions, and checking that the native program instruction was sent. In doing so, these are the possible outcomes: - ❌ Native program instruction fails - Custom instruction is never executed. - ❌ Native program instruction not supplied or supplied with wrong values - Custom instruction fails to check that the Native program instruction was sent with the proper data, therefore gets rejected. - ✅ Native program instruction succeeds - Custom instruction gets executed - Custom instruction checks that the Native program instruction was sent with the proper data - If that succeeds, we can say that Custom instruction indirectly verified the signature. Instruction introspection solana program provides us with the load instruction at checked function on the Instructions Sysvar , that allows us to recover the raw fields of an instruction at a given i","default_branch":null,"files":null,"tree":[],"storefront":"/r/GuidoDipietro","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/GuidoDipietro/solana-ed25519-secp256k1-sig-verification/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}