libsnark库使用gadgets将R1CS打包;
首先创建src/gadget.hpp
文件,开发人员设置共有变量out
和私有变量x
,gadget会自己处理中间变量y
、sym_1
和sym_2
;
然后创建一个派生自gadget
类的test_gadget
类,y
、sym_1
和sym_2
作为其私有成员,x
和out
是公共类成员变量;
接下来介绍gadget
的功能及使用方法
构造函数:
sym_1.allocate(this->pb, "sym_1");
y.