neoneo-go/pkg/smartcontract
Anna Shaleva 9e74fc5b47 zkp: add end-to-end Groth-16 proof generation/verification example
The example shows that the proover knows the solution of the cubic
equation: y = x^3 + x + 5. The example is constructed for BLS12-381
curve points using Groth-16 prooving algorithm. The example includes
everything that developer needs to start using ZKP on the NEO platform
with Go SDK:
1. The described cubic circuit implementation.
2. The off-chain proof generation with the help of gnark-crypto library.
3. Go verification contract generation and deployment with the help of
   NeoGo libraries.
4. The on-chain proof verification for various sets of input data.

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-05 12:32:47 +03:00
..
binding cli: allow dynamic RPC binding contract hash 2023-06-01 16:06:28 +03:00
callflag *: replace interface{} with any keyword 2023-04-04 13:22:42 +03:00
context smartcontract: add comment to GetCompleteTransaction 2022-10-13 16:07:34 +03:00
manifest smartcontract: fix wildcard trusts deserialization 2023-09-25 11:53:47 +03:00
nef *: use require.ErrorIs instead of require.True(t, error.Is()) 2023-05-04 17:03:47 +03:00
rpcbinding rpcbinding: check duplicating struct fields before binding generation 2023-08-11 17:48:54 +03:00
testdata cli: add filebytes parameter type 2021-02-19 10:52:45 +03:00
trigger [#2442] English Check 2022-05-04 19:48:27 +03:00
zkpbinding zkp: add end-to-end Groth-16 proof generation/verification example 2023-10-05 12:32:47 +03:00
builder.go vm: allow to emit convertible 2023-05-17 12:47:31 +03:00
builder_test.go smartcontract: add Len to Builder 2022-09-14 10:25:10 +03:00
contract.go smartcontract: fix error message for CreateMultiSigRedeemScript 2022-10-07 15:56:34 +03:00
contract_test.go core: rename Neo.Crypto.CheckMultisig interop 2021-05-11 18:38:14 +03:00
doc.go smartcontract: improve package documentation 2022-08-01 21:31:23 +03:00
doc_test.go ci: fix lint issues (fix #2948) 2023-03-29 11:19:23 +08:00
entry.go *: replace interface{} with any keyword 2023-04-04 13:22:42 +03:00
param_type.go smartcontract: disallow Null and non-utf8 String 2023-08-18 16:41:33 +03:00
param_type_test.go smartcontract: disallow Null and non-utf8 String 2023-08-18 16:41:33 +03:00
parameter.go smartcontract: allow to pass nil as parameter to (*Invoker).Call 2023-07-21 13:19:25 +03:00
parameter_test.go smartcontract: allow to pass nil as parameter to (*Invoker).Call 2023-07-21 13:19:25 +03:00