Skip to content

NotCentralised/notvault-evm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NotVault     |     The Self-Sovereignty SDK

The NotVault SDK is an open-source toolset designed for the swift and secure creation of self-sovereign data workflows. Its functionality spans multiple use cases, including confidential commerce and payments, token transfers, file management, and the application of verifiable credentials. With a focus on streamlining the incorporation of Zero Knowledge Proof (ZKP) technology, NotVault emphasises best practices for encryption, decentralisation, and peer-to-peer operations in all data exchanges.

Core Principles

NotVault operates on three fundamental principles:

  • Peer-to-Peer: To mitigate risks associated with a single point of failure.
  • Encryption: To maintain confidentiality at all times.
  • Zero Knowledge Proofs: To minimise data footprints during communication.

The functionality of NotVault mirrors that of a wallet, facilitating the private linkage of a contact ID (such as an email) to a user's wallet. Additionally, it generates a new public/private key pair used for data encryption and signing within the ecosystem. This system negates the need to access the keys of the Ethereum wallet (typically inaccessible via API) and provides a more user-friendly method of connecting with other identities.

Key Features

Developers leveraging NotVault can access a plethora of features including:

  • Wallet: Safeguards encrypted keys and metadata.
  • Credentials: Facilitates the generation and verification of zkSNARK credential proofs.
  • Vault: Manages confidential token balances and transfers.
  • Files: Enables self-sovereign and encrypted file storage capability through IPFS.
  • Commercial Deals: Supports the lifecycle management of transactional or contractual agreements, including their financial settlement. It offers self-custody escrows of token payment amounts via a peer-to-peer platform.
  • Service Bus: Provides a confidential messaging service, ensuring integrity of timestamp, source, and underlying message using a zkSNARK. Harness the power of NotVault SDK to expedite the development of secure, decentralised applications and services.

Information

For more detailed information please go to our GITBOOK.

Contracts

Deployment Costs

GOERLI SEPOLIA Hedera Testnet Base Goerli Deployment Gas
Wallet 0x5F4... 0x4b8... 0x756... 0xF97... 1,162,239
Vault 0x4C1... 0x38A... 0xd80... 0x9d6... 5,041,627
Deal 0xe8F... 0x523... 0x38c... 0xFCC... 4,328,511
Oracle 0xa94... 0x8b2... 0xeEB... 0xbbf... 693,393
ServiceBus 0x989... 0x5A9... 0xCe0... 0x24A... 735,119

Method Costs

Methods Approx Gas Gas Limit
Wallet registerKeys 684,397 700,000
Wallet setValue 137,643 200,000
Wallet setFileIndex 90,313 100,000
Wallet setCredentialIndex 90,313 100,000
Vault deposit 552,191 600,000
Vault withdraw 374,927 400,000
Vault createRequest 1,152,414 1,200,000
Vault acceptRequest 618,821 650,000

Building

In order to compile and run the smart contract code.

Prerequisites

The compilation and development environment necessary are:

Rust

A fast and memory efficient language used by the circom compiler.

https://www.rust-lang.org

curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

Circom 2.0

The zero knowledge circuit development environment.

https://docs.circom.io

git clone https://github.com/iden3/circom.git
cd circom
cargo build --release
cargo install --path circom

SnarkJS

The zkSnark environment.

https://github.com/iden3/snarkjs

npm install -g snarkjs

Once the environment is correctly setup, you can proceed with compiling the cirtuits.

Build the circuits

cd circuits
sh compile.sh
cd ...

Run the tests

npx hardhat test

License

MIT License.

About

NotVault is an sdk developed by NotCentralised to build self-sovereign dapps with encryption, zk proofs, ipfs and evm.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published