PADL is based on zero-knowledge proofs for inter-parties framework for exploring applications for financial institutes. Padl utilises Sigma Protocols and range proofs on homomorphic multi-asset ledger with smart-contracts capability to verify transactions on chain.
- Padl includes rust lib 'zkbp' wrapped in python, so can be used directly as a python package for using crypto primitives and proof generations. Rust implementation is highly based on secp256k1 from ZenGo-X/curv and bulletproofs as well as extended ZKP with sigma protocols+range proofs.
- Padl Smart-Contracts developed in solidity based on ECC for deployment on evm network, providing fast proofs verification for multi-assets tx and implementation of padl-private token.
- python > 3.8 and Rust.
- For testing on smart contracts:
nodejs
, and for local evm testing env., for example ganache-cli, OpenZeppelin contracts such as ERC20.
- run
python setup.py init
To run the example padl_deployERC.py, need to run python setup.py contract
to download the openzeppelin-contracts library.
See more examples (pyledger/examples), and tutorials under (./tutorials).
To cite PADL, please reference the (LINK HERE + BIBTEX)
PADL has a Apache v2-style license, as found in the LICENSE file.