Skip to content

This is a semestral group project from a Secure programming course at FI MUNI. It has been developed with a help of two other students: Přemysl Bednárek and Marek Skácelík.

License

Notifications You must be signed in to change notification settings

TrawenCZ/bip-380

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BIP 380

This is a showcase repository of a Rust-based team project created as part of a secure programming course at FI MUNI. There were two other contributors apart from myself - Marek Skácelík and Přemysl Bednárek.


BIP 380, but in its fastest street-legal version.

How to start ✨

💡 This manual covers setup for Linux-based operating systems. If you are planning to run this on some other platform, we suppose you already have the knowledge to do so. Nevertheless, the process is very similar.

There are two ways you can get started with this tool:

Option 1: Download and run an release

  1. 💾 Download an executable from our release page.

  2. ⚡ Open a terminal in the same folder where you downloaded the executable and run it.

    ./bip380 --help

    If an error occurs while trying to do this, you may need to add a permission for executing the file. You can do that with chmod +x bip380.

  3. 🚀 If the previous command displayed the help message, you're good to go.

Option 2: Run the source yourself

⚠️ Note that this option is not recommended for users with minimal programming knowledge. You will also need the Rust toolset installed before proceeding, you can learn more about that at the official Rust documentation page.

  1. 💾 Clone or download this repository. This can be done via Code dropdown section at the repository home, or by using one of the methods below.

    SSH
    git clone [email protected]:pv286/teams/team-15.git
    HTTPS
    git clone https://gitlab.fi.muni.cz/pv286/teams/team-15.git
    ZIP

    🖱️ Click this link to download. After downloading, extract the ZIP file contents.

  2. 📂 Enter the folder with the code (the name can differ if you specified a custom name).

    cd team-15
  3. 🔨 Compile the code.

    cargo build --release
  4. ⚡ Run the produced executable.

    ./target/release/bip380 --help
  5. 🚀 If the previous command displayed the help message, you're good to go.

🗒️ You can also run the code without explicitly pre-compiling it with cargo run (more about it here).

Testing 🧪

You can run all the tests for the project with this command:

cargo test

As noted in the libraries section below, some of the tests require that you build the application (i.e., running cargo build) prior to running the tests.

Used libraries 📚

The base cryptographic library is bip32. 🔗

For base58 encoding, our project utilizes the bs58 crate. 🔗

For the testing purposes, there is a assert_cmd library that simulates running this tool from the command line. 🔗

The assert_cmd also requires that you build the application (i.e., cargo build) prior to running any test that uses this library.

To compute SHA-256 hashes, we rely on the Sha256::digest that is imported from the bip32 crate.

About

This is a semestral group project from a Secure programming course at FI MUNI. It has been developed with a help of two other students: Přemysl Bednárek and Marek Skácelík.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •