mirror of https://github.com/waku-org/go-rln.git
playing
This commit is contained in:
parent
3faa61ce34
commit
63ee41dab3
2
Makefile
2
Makefile
|
@ -1,7 +1,7 @@
|
||||||
.PHONY: rlnlib
|
.PHONY: rlnlib
|
||||||
|
|
||||||
rlnlib:
|
rlnlib:
|
||||||
cd lib/rln && cargo build --release
|
cd lib/rln && cargo build --release --target=aarch64-apple-darwin
|
||||||
cbindgen --config ../cbindgen.toml --crate rln --output librln.h --lang c
|
cbindgen --config ../cbindgen.toml --crate rln --output librln.h --lang c
|
||||||
mv lib/rln/target/release/librln.* lib/
|
mv lib/rln/target/release/librln.* lib/
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
/Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/target/release/librln.rlib: /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/circuit/mod.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/circuit/polynomial.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/circuit/poseidon.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/circuit/rln.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/ffi.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/lib.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/merkle.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/poseidon.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/public.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/utils.rs
|
/Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/target/aarch64-apple-darwin/release/librln.dylib: /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/circuit/mod.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/circuit/polynomial.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/circuit/poseidon.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/circuit/rln.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/ffi.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/lib.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/merkle.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/poseidon.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/public.rs /Users/deaneigenmann/go/src/github.com/decanus/go-rln/lib/rln/src/utils.rs
|
||||||
|
|
BIN
lib/librln.rlib
BIN
lib/librln.rlib
Binary file not shown.
|
@ -0,0 +1,51 @@
|
||||||
|
package rln
|
||||||
|
|
||||||
|
/*
|
||||||
|
#cgo LDFLAGS: -L${SRCDIR}/../../lib/ -llibrln -ldl -lm
|
||||||
|
#include "./../../lib/librln.h"
|
||||||
|
*/
|
||||||
|
import "C"
|
||||||
|
import "unsafe"
|
||||||
|
|
||||||
|
type Buffer struct {
|
||||||
|
Ptr *[]byte
|
||||||
|
Len uint
|
||||||
|
}
|
||||||
|
|
||||||
|
type RLN struct {
|
||||||
|
ptr *C.RLN_Bn256
|
||||||
|
}
|
||||||
|
|
||||||
|
//func (r *RLN) CircuitFromParams(depth int, parameters []byte) bool {
|
||||||
|
// return C.new_circuit_from_params(depth, toBuffer(parameters), r.ptr)
|
||||||
|
//}
|
||||||
|
//
|
||||||
|
//func (r *RLN) GenerateProof(input, output []byte) bool {
|
||||||
|
// //bool generate_proof(const struct RLN_Bn256 *ctx,
|
||||||
|
// // const struct Buffer *input_buffer,
|
||||||
|
// //struct Buffer *output_buffer);
|
||||||
|
//
|
||||||
|
// return C.generate_proof(r.ptr, toBuffer(input), toBuffer(output));
|
||||||
|
//}
|
||||||
|
|
||||||
|
func (r *RLN) GenerateKey() {
|
||||||
|
C.key_gen(r.ptr, &Buffer{})
|
||||||
|
//bool key_gen(const struct RLN_Bn256 *ctx, struct Buffer *keypair_buffer);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func toBuffer(data []byte) C.Buffer {
|
||||||
|
dataPtr, dataLen := sliceToPtr(data)
|
||||||
|
return C.Buffer{
|
||||||
|
ptr: dataPtr,
|
||||||
|
len: C.int(dataLen),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func sliceToPtr(slice []byte) (*C.uchar, C.int) {
|
||||||
|
if len(slice) == 0 {
|
||||||
|
return nil, 0
|
||||||
|
} else {
|
||||||
|
return (*C.uchar)(unsafe.Pointer(&slice[0])), C.int(len(slice))
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue