Movatterモバイル変換


[0]ホーム

URL:


packagebls12-381-legacy

  1. Overview
  2. Docs

You can search for identifiers within the package.

in-package search v0.2.0

UNIX version of BLS12-381 primitives. Not implementating the virtual package bls12-381

Install

Dune Dependency

Authors

Maintainers

Sources

ocaml-bls12-381-0.4.4-legacy.tar.bz2
md5=a2051b5842a2deeb10ad99c57a7ea443
sha512=3e2669baf621304bbe14bcb53ab128d01577b98f13bec497953328c8605c9dc5667c873b680e087dd240362ee77b0f15d1d4bbe60dd67a2dc4b8b64838189d6a

Description

This package should only be used if newer versions of bls12-381 conflict with this version. This package should be considered as legacy and should never be used.

Published:17 Dec 2021

README

OCaml implementation of BLS12-381

Install

# if you implement a library and you don't need an actual implementationopam install bls12-381# to target UNIXopam insall bls12-381-unix# to target JavaScript, to be used with jsoo.opam install bls12-381-js

See below how to use in your project.

Run tests

dune runtestdune build @test/js/browser/serve # Check _build/default/test/js/browser and run `npm run serve`

To get the coverage (only ok for bls12-381-unix and bls12-381-gen)

dune runtest --instrument-with bisect_ppx --forcebisect-ppx-report html

How to use in my project

If you are developing a library usingbls12-381, you only need to addbls12-381 in the dependency list. However, if you are writing a binary, three packages are relevant:

  • bls12-381-unix: to be used for UNIX

  • bls12-381-js: to be used to target JavaScript. It does rely on the node packages listedhere, version >= 0.8.1, and suppose this module is loaded before in the global namespace under the name_RUSTC_BLS12_381. Seetest/js/browser/ for an example. You need to use the appropriate package depending on the platform you target (Node or a bundler for the browser). For instance, if you target Node (resp. a bundler like webpack for a browser usage), you must use@dannywillems/rustc-bls12-381-node (resp.@dannywillems/rustc-bls12-381).

  • bls12-381-js-gen: if the module is loaded somewhere else than in the global namespace like the previous package supposes, you can use this third library that provides functors. The functors are expecting a module of the signature:

    sig  val rust_module : unit -> Jsoo_lib.ESModule.t  val get_wasm_memory_buffer : unit -> Jsoo_lib.Memory.Buffer.tend

    (note: functions are not directly evaluated values are required because the module might not already be loaded when loading the JavaScript resulting file and the wasm memory buffer being a view over a ArrayBuffer might be invalid if the buffer size is increased at runtime). You can see an example in thesrc/js.

For more examples, see the test directories.

Run the benchmarks

opam install core_benchdune exec benchmark/bench_ec.exedune exec benchmark/bench_ff.exedune exec benchmark/bench_pairing.exe

Documentation

opam install odocdune build @doc

Dependencies (9)

  1. tezos-rust-libs= "1.1"
  2. bls12-381-gen= version
  3. ctypes>= "0.18.0" & < "0.19.0"
  4. zarith>= "1.10" & < "2.0"
  5. ff-sig>= "0.6.1" & < "0.7.0"
  6. dune-configuratorbuild
  7. dune>= "2.8.4"
  8. conf-rustbuild
  9. ocaml>= "4.08"

Dev Dependencies (2)

  1. ff-pbt>= "0.6.0" & < "0.7.0" & with-test
  2. alcotestwith-test

Conflicts

None


[8]ページ先頭

©2009-2025 Movatter.jp