An open source desktop wallet for nano and banano with end-to-end encrypted, on chain messaging using the dagchat protocol.

Overview

dagchat

An open source wallet with end-to-end encrypted, on chain messaging for nano and banano using the dagchat protocol.

This application is not yet released and thus there are no guarantees when it comes to the cryptographic security of wallets saved or messages sent with dagchat. Every care has been taken to ensure safety within the on-device wallet encryption, and the on-chain end to end encrypted messaging implementations, but this repository has not undergone a professional audit of any kind.

Features

  • Import multiple wallets using a mnemonic phrase, hex seed, or even private key. Each wallet supports many accounts which can be shown procedurally or by specifying an index.
    image image
  • Send on chain, end to end encrypted memos/messages using the dagchat protocol.
    image
  • Receive your nano and banano, and read incoming messages all in the same place.
    image
  • Messages are identified automatically by the wallet.
    image
  • Messages when sent and received are automatically encrypted and saved to your computer. They can be read again in the message history tab.
    image

Building from source

To build dagchat from source, you will need to have rust and cargo installed on your machine: https://www.rust-lang.org/tools/install

  1. Clone the repository or download the zip and extract it.
  2. If you are building for Linux (Windows and MacOS skip this step) you will need to install some other dependencies that are used for the rust-clipboard crate that manages copying and pasting in dagchat: sudo apt-get install libxcb1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev.
  3. Enter the repository's directory (either the clone, or the extracted zip) and run cargo build --release to build an executable in release mode. This will appear in /target/release/.
  4. The application should be built and ready to run.
You might also like...
MyCitadel Wallet app for Linux, Windows & MacOS desktop made with GTK+
MyCitadel Wallet app for Linux, Windows & MacOS desktop made with GTK+

MyCitadel Desktop Bitcoin, Lightning and RGB wallet MyCitadel is a wallet for bitcoin, digital assets and bitcoin finance (#BiFi) smart contracts. It

End-to-end encryption and mutual authentication for distributed applications.
End-to-end encryption and mutual authentication for distributed applications.

✨ Hands-on Introduction: Build end-to-end encrypted, mutually-authenticated, secure messaging in Rust ✨ Rust and Elixir libraries for end-to-end encry

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

The protocol are designed and made for the future of cross-IP, cross-chain metaverse.

Avatar-protocol 化身协议 This project demonstrates how to use the Solana Javascript API to interact with programs on the Solana blockchain. The project co

Basilisk node - cross-chain liquidity protocol built on Substrate

Basilisk node Local Development Follow these steps to prepare a local Substrate development environment 🛠️ Simple Setup Install all the required depe

Complete Ethereum and Celo wallet implementation and utilities in Rust

ethers.rs Complete Ethereum and Celo wallet implementation and utilities in Rust Documentation Extensive documentation and examples are available here

a handy utility to work with encrypted DMGs

edmgutil edmgutil is a simple wrapper utility to hdiutil to help you work with disposable, encrypted DMGs. It can decompress an encrypted ZIP into a n

Encrypted memories

Diary - Encrypted memories Diary is a TUI program written in Rust for GNU/Linux / *BSD / Android (It probably works on other platforms too, but who ca

age-encrypted secrets for NixOS; drop-in replacement for agenix

ragenix ragenix provides age-encrypted secrets for NixOS systems which live in the Nix store and are decrypted on system activation. Using ragenix to

Comments
  • Gets rid of trailing whitespace in seed

    Gets rid of trailing whitespace in seed

    Before, if there was trailing whitespace in the seed, the character check would fail due to not being 64 characters long. Now, the white space is trimmed. I cargo builded and tested, seems to work.

    opened by jetstream0 1
  • v1.0.0 Beta

    v1.0.0 Beta

    Potentially unstable. Work in progress, not yet bug tested or polished.

    Added

    1. Accounts are saved under OS default application data directory and then /dagchat/accounts.dagchat
    2. Account data is encrypted using a user passphrase
    3. File structure rework

    Process used for encrypting account data using passphrase

    1. Expand passphrase into 256 bit key using Argon2 with randomly generated 128 bit salt
    2. Serialise UserData's Vec with bincode into Vec
    3. Encrypt this Vec with 256 bit key from 1. using AES256gcm
    4. Concatenate salt, nonce, and encrypted bytes in that order
    5. Write to [OS App data]/dagchat/accounts.dagchat
    opened by derfarctor 0
Releases(v1.0.0-beta)
  • v1.0.0-beta(Apr 25, 2022)

    Features

    • Import, create and save multiple nano and banano wallets using a mnemonic phrase, 64 character seed, or even private key.
    • Send and receive on chain, end to end encrypted messages with your normal nano and banano transactions using the dagchat protocol.
    • Send nano and banano as you normally would. The dagchat wallet includes normal wallet functions such as opening accounts, and changing representatives.
    • View your previously sent and received messages by encrypting and saving them to your device automatically.

    For more features and some examples of how dagchat wallet looks, as well as instructions for building from source refer to the README.md here.

    Disclaimer

    There are no guarantees when it comes to the cryptographic security of wallets saved or messages sent with dagchat whilst it is not yet released. Every care has been taken to ensure safety within the on-device wallet encryption, and the on-chain end to end encrypted messaging implementations, but this repository has not undergone a professional audit of any kind.

    Source code(tar.gz)
    Source code(zip)
    dagchat-v1.0.0-beta-linux(10.69 MB)
    dagchat-v1.0.0-beta-windows.exe(14.90 MB)
  • v1.0.0-alpha(Apr 11, 2022)

    dagchat v1.0.0 alpha

    This is a test build. Please do not use your own wallet with dagchat whilst it is being developed. You can generate a new mnemonic using this site or create a new wallet from a seed within the application.

    There are no guarantees when it comes to the cryptographical security of messages sent with dagchat whilst it is not yet released. Every care has been taken to ensure safety within the end-to-end encryption implementation, but this repository has not undergone a full professional audit.

    Features:

    • Create and import wallets.
    • Send on chain, end to end encrypted messages with your normal nano and banano transactions using the dagchat protocol.
    • Send nano and banano.
    • Receive nano and banano and recognise, decrypt and read incoming messages sent with the dagchat protocol.
    • Change account representative.
    • Choose between 'modest' and 'vibrant' themes.

    Any account loaded with dagchat v1.0.0 alpha is not saved when you close the application. If you have created a new account within the app, make sure to save the seed if you plan to send funds to its address and wish to recover them.

    Source code(tar.gz)
    Source code(zip)
    dagchat.exe(14.38 MB)
Owner
derfarctor
derfarctor
NymDrive is a complete, end-to-end encrypted file syncing daemon that runs over the Nym network.

NymDrive NymDrive is a complete, end-to-end encrypted file syncing daemon that runs over the Nym network. Features Active file monitoring of changes i

Hans Bricks 16 Jul 12, 2022
⋰·⋰ Feeless is a Nano cryptocurrency node, wallet, tools, and Rust crate.

⋰·⋰ Feeless What is Feeless? Feeless is a Nano cryptocurrency node, wallet, tools, and Rust crate. This is not the official project for Nano, only an

null 129 Aug 1, 2022
Open source Rust implementation of the Witnet decentralized oracle protocol, including full node and wallet backend 👁️🦀

witnet-rust is an open source implementation of the Witnet Decentralized Oracle Network protocol written in Rust. Components witnet-rust implements ma

The Witnet Project 154 Sep 6, 2022
Dione is an anonymize and encrypted messaging system build on top on a peer to peer layer.

Secure and Anonymous Messaging WARNING: Currently Dione is not ready to be used nor does it fulfill its goal of being an anonymous messenger. In order

Dione 41 Sep 5, 2022
An encrypted multi client messaging system written in pure Rust

?? Preamble This is a pure Rust multi-client encrypted messaging system, also known as Edode's Secured Messaging System. It is an end-to-end(s) commun

Edode 3 Sep 16, 2022
A Bitcoin wallet collider that brute forces random wallet addresses written in Rust.

Plutus-Rustus Bitcoin Brute Forcer A Bitcoin wallet collider that brute forces random wallet addresses written in Rust. This is a straight port of Plu

null 6 Sep 3, 2022
Terabethia - A Bridge and Messaging Protocol between Ethereum and the Internet Computer.

Terabethia - A Bridge Between Ethereum & the Internet Computer Terabethia is a bridge between Ethereum & the Internet Computer that contracts in both

Psychedelic 34 Sep 13, 2022
Nym provides strong network-level privacy against sophisticated end-to-end attackers, and anonymous transactions using blinded, re-randomizable, decentralized credentials.

The Nym Privacy Platform The platform is composed of multiple Rust crates. Top-level executable binary crates include: nym-mixnode - shuffles Sphinx p

Nym 596 Sep 22, 2022
A Rust implementation of the Message Layer Security group messaging protocol

Molasses An extremely early implementation of the Message Layer Security group messaging protocol. This repo is based on draft 4 of the MLS protocol s

Trail of Bits 107 Jul 8, 2022
An application for creating encrypted vaults for the GNOME desktop.

Vaults An application for creating encrypted vaults for the GNOME desktop. It currently uses gocryptfs and CryFS for encryption. Please always keep a

Martin Pobaschnig 45 Sep 18, 2022