ErgoTree language interpreter, Ergo version.
A class which is holding secrets and signing transactions.
A class which is holding secrets and signing transactions. Signing a transaction means producing spending proofs for all of the input boxes of the transaction.
This interpreter also acts as a wallet, in the sense that it is a vault holding user's secrets.
There are two basic types of secrets, hierarchical deterministic keys corresponding to BIP-32 implementation, and also "primitive" keys, such as just secret exponent for a Schnorr signature scheme done in Ergo.
It is considered that there could be very many hierarchical deterministic keys (for example, if we are talking about an exchange there could be thousands of them), and not so many primitive keys. Optimizations are centered around this assumption.
A naive Ergo prover implementation not performing transaction cost verification.
A naive Ergo prover implementation not performing transaction cost verification.
this prover is only suitable for signing only small number of simple inputs,
for inputs with complex scripts use ErgoProvingInterpreter
ErgoTree language interpreter, Ergo version. In addition to ErgoLikeInterpreter, it contains rules for expired boxes spending validation.