Giter Club home page Giter Club logo

grinplusplusui's Introduction

Grin++

The most private crypto wallet.

Based on Grin++

Grin++ was designed and coded to be secure, fast, and reliable. It serves as a robust backend for lightning fast desktop, mobile, and server applications to be built on top of.

Grin++ is heavily modularized, and was built to be able to scale with the Grin network. Components were designed with a clear separation of concerns using simple, easy-to-use APIs. This makes it straight-forward for users to build custom, drop-in implementations of any one of the components to better suit their needs.

Grin++ offers several advantages. Here are just a few:

  • Windows, Linux, MacOS X support.
  • Simple to use UX/UI.
  • Multi-user support.
  • Lightning fast refreshes & wallet restores.
  • Full AES w/scrypt encryption to protect your coins and privacy.
  • Passwords never stored in memory.
  • Send/Receive coins via Tor.

Building

macOS

#!/usr/bin/env bash

brew install tor
brew install rocksdb
brew install cmake
git clone [email protected]:GrinPlusPlus/GrinPlusPlus.git
cd GrinPlusPlus
rm -Rf build
mkdir build && cd build
CC=gcc-9 CXX=g++-9 cmake ..
cmake --build . --config RelWithDebInfo
cd ..
npm install
npm run dev

Now, Let's talk about Grin a little bit

Grin is a lightweight implementation of the Mimblewimble protocol. The main goal and characteristics of the Grin project are:

  • Privacy by default. This enables complete fungibility without precluding the ability to selectively disclose information as needed.
  • Scales mostly with the number of users and minimally with the number of transactions (<100 byte kernel), resulting in a large space saving compared to other blockchains.
  • Strong and proven cryptography. Mimblewimble only relies on Elliptic Curve Cryptography which has been tried and tested for decades.
  • Design simplicity that makes it easy to audit and maintain over time.
  • Community driven, encouraging mining decentralization.

Privacy and Fungibility

There are 3 main properties of Grin transactions that make them private:

  1. There are no addresses.
  2. There are no amounts.
  3. 2 transactions, one spending the other, can be merged in a block to form only one, removing all intermediary information.

The 2 first properties mean that all transactions are indistinguishable from one another. Unless you directly participated in the transaction, all inputs and outputs look like random pieces of data (in lingo, they're all random curve points). `Moreover, there are no more transactions in a block. A Grin block looks just like one giant transaction and all original association between inputs and outputs is lost.

Wait, what!? No address?

Nope, no address. All outputs in Grin are unique and have no common data with any previous output. Instead of relying on a known address to send money, transactions have to be built interactively, with two (or more) wallets exchanging data with one another. This interaction does not require both parties to be online at the same time. Practically speaking, there are many ways for two programs to interact privately and securely. This interaction could even take place over email or Signal (or carrier pigeons).

grinplusplusui's People

Contributors

davidburkett avatar davidtavarez avatar xredleader avatar d-resistance avatar frankcoderl avatar andreabenetton avatar gorfist avatar 3abc avatar jore avatar dependabot[bot] avatar johndavies24 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.