Skip to content

BoostryJP/Secret-Escrow

Repository files navigation

Secret-Escrow 🤫

A prototype implementation of escrow information concealment using Joux's Tripartite-Diffie-Hellman.

Dependencies

  • Python
    • v3.11
  • Ape Framework
    • We use Ape with the Solidity and Foundry plugins for contract compilation and testing.
  • ethereum/py_ecc
    • bls12_381 curve operations
  • Solidity
    • We are using Solidity to implement our smart contracts.
    • Currently, we are using v0.8.34.
  • Anvil
    • We use Anvil for local development and unit testing.
  • OpenZeppelin
    • Our project is partly dependent on OpenZeppelin.
    • We use openzeppelin-contracts v4.9.

Install

Create virtual environment

$ uv venv

Install packages

Install 3rd party packages.

$ make install

Install Ape dependencies.

$ make setup

Compile Contracts

$ make compile

If compilation succeeds, Ape writes the build manifest under .build/.

Run test

After compiling, run the following command:

$ make test

To run a specific test file:

$ make test {path_to_test_file}

Developing Smart Contracts

Network(Anvil) settings

The Ape project settings are defined in ape-config.yaml.

The Anvil command used for tests is defined in tests/run_anvil_test.sh and uses chain ID 2017 to match the app-side transaction builder.

References

  1. Joux, A. (2000). A One Round Protocol for Tripartite Diffie–Hellman. In: Bosma, W. (eds) Algorithmic Number Theory. ANTS 2000. Lecture Notes in Computer Science, vol 1838. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10722028_23

About

Concealing escrow information using Joux's Tripartite-Diffie-Hellman

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors