Giter Site home page Giter Site logo

niffler's Introduction

Niffler Wallet

English | 简体中文 | Français

Niffler is a out-of-the box user-friendly gui Grin wallet. The name 'Niffler' comes from "harry potter".

  • It's using the official Grin binaries as back-end.

  • It's using electron-vue to build the Niffler Wallet gui front-end.

  • It works on mac/linux/windows, and supports multiple languages.

Logo made by @Duoasa

Table of Contents

Development resources

Vulnerability response

License

Apache-2.0 License, see LICENSE.

Translations

The Niffler wallet is available in different languages. English, 简体中文, French, Russian, Dutch.

Translation to other languages is welcome. Please check our lang folder. If you want to help translate it, then translate the next text file en.js to your local language. Or better, send a github pull request similar like this.

Contributing

Code pull requests are always welcome. If you want to help out, please send pull requests.

Latest Version

v0.7.1 support Grin5

Niffler Wallet uses the official grin-wallet v5.0.3 and grin v5.0.4 as backend.

Mac/Windows/Linux version:https://github.com/grinfans/niffler/releases/tag/v0.7.1

Niffler wallet has a hedwig v1 relay service, which enable users without public ip receive grin really easy :)

In other words,You could withdraw grin from any exchanges and miner pool effortlessly.

Video tutorial

A great video tutorial of how to withdraw grin from any exchanges using Niffler wallet. IMAGE ALT TEXT HERE

Usage

Create new wallet

create new wallet

Important! Be sure to backup your recovery seed phrase to restore your wallet later.

Send grin

send grin

Receive grin

receive grin

Compiling from source

Dependencies

The following table summarizes the tools required to build. A few tools are included in this repository (marked as "Vendored").

Dep Min. version Vendored Debian/Ubuntu pkg name Optional Purpose
npm ? NO npm javascript package manager NO compiler
grin current YES grin node executable NO grin node back-end
grin-wallet current YES grin-wallet executable NO grin-wallet back-end
hedwig 1.0.0 YES public IP address relay service NO https relay service

The current release is built on branch gw5

Build instructions

Niffler Wallet uses the npm build system.

Linux

Install build dependencies on Debian/Ubuntu:

$ sudo apt update && sudo apt install npm

Cloning the repository

$ git clone https://github.com/grinfans/niffler.git && cd niffler

download and install dependencies with npm in the repository

npm install
cd hedwig
npm install
cd ..

Serve with hot reload at localhost:9080

npm run dev

Build electron application for production

npm run build

Installation directories

Linux

/opt/Niffler

~/.niffler

~/.grin

Windows

c:\Program Files\Niffler

c:\user\username\.niffler

c:\user\username\.grin

Credits

We now have a wonderful logo from chinese grin community.

Logo made by @Duoasa, and also thanks @机械师区块链

Thanks to @yozx for Russian version.

Thanks to @Kinaou for French version.

Thanks to @frankcoderL for Nederlands version.

niffler's People

Contributors

cekickafa avatar dependabot[bot] avatar frankcoderl avatar xiaojay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

niffler's Issues

Inconsistent confirmed status between transactions and uxto.

Got data from official grin wallet owner api, however, transaction will set confirmed status after one confirmed on blockchain, whereas uxto will set to confirmed status after ten confirmed on blockchain.

Maybe a bug in official grin wallet ?

does not respect data_file_dir options within grin-wallet.toml file

OS: mac
Config Location: ~/.grin/
Data Location: ~/Wallets/Grin/

grin-server.toml and grin-wallet.toml are in the above config location but are configured to read the data stored in another directory (data location).

Niffler expects that wallet data to always be in the .grin directory even though in the grin-wallet.toml file it can be configured to be elsewhere:

data_file_dir = "/Users/USER_HOME/some/other/directory/wallet_data"

Wallet generation if Grin++ installed also

I have noticed that after installation I had to type password for my wallet even though I had not create one. The intro view allows me to only Remove the current wallet, which is maybe Grin++ wallet. This issue is only on PC with Grin++ installed on win10 other win10 PC without Grin++ installed works OK.

Grin node stays running after closing Niffler

The grin process remains running after closing Niffler. Is this intentional? It seems like a bad idea because the only way to close it is to kill the process, which seems like it could more easily result in corrupt data.

Cannot restore seed phrase

How to restore seed phrase in the app? I don't want to generate new one I want to use an existing one

Wrong password

I tried restore and createseveral new wallets setting with same passward.
It always prompted Wrong password".
Here is the log:

2019-08-27 [debug] Time to select gnode.
2019-08-27 [debug] Use local gnode? true
2019-08-27 [debug] Connect method is remoteFirst
2019-08-27 [debug] Remote node height is 320887
2019-08-27 [debug] use remote grin node.
2019-08-27[debug] ownerAPIProcessPID: 6796
2019-08-27 1[error] start owner_api got stderr: Thread 'apis' panicked with message:
"error binding to 127.0.0.1:XXXX: error creating server listener: 以一种访问权限不允许的方式做了一个访问套接字的尝试。 (os error 10013)"

Is there anything going wrong?

Thank you.

Wallet command failed: LibWallet Error: Can't Deserialize slate

Hi. Sending via http from grin-wallet 2.0.0 ubuntu is stuck with err: Wallet command failed: LibWallet Error: Can't Deserialize slate
Sending via file is OK and sending from Niffler to ubuntu grin-wallet 2.0.0 via http is also OK.
command line is: grin-wallet send -m http -d https://my_hedwig_addres 1.0
THX

Add details page of one transaction.

Every finished transaction should have a details page about when to send\how much to send\send to where, which data save in user's local computer.

UX:
user click the finished transaction --> details page of this tx

Add option to send MAX amount of coins

While I was making a simple guide on how to send/receive grins on Niffler, I sent 1 coin to my Niffler wallet. After I was done, I wanted to send this 1 grin back to my original wallet. However, I can't completely spend this output, as Niffler requires me to leave 0.01 for a fee, even though the fee in practice is 0.008. So I ended up leaving 0.002 on my Niffler wallet, which is bloating the UTXO for no reason, as I never plan to use it.

I suggest to add a MAX option which will spend the entire wallet minus the exact fee amount. It would benefit the network by not leaving tiny outputs behind which are never going to be used.

An error occur when checking balance

I'm using Niffler 0.4.1 in macOS 14.14.5.
An error occur when checking balance.
Here's the text shown in the Check Balance window.

20190720 16:33:25.530 ERROR grin_wallet_impls::node_clients::http - Unable to contact Node to get version info: Request error: Cannot make request: an error occurred trying to connect: Connection refused (os error 61)
20190720 16:33:25.531 WARN grin_wallet_controller::command - Starting wallet check... 20190720 16:33:25.531 WARN grin_wallet_controller::command - Updating all wallet outputs, please wait ...
20190720 16:33:25.872 WARN grin_wallet_libwallet::internal::restore - Starting wallet check.
20190720 16:33:47.654 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537784. (Highest index: 26911)
20190720 16:33:47.655 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:33:50.181 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537784. (Highest index: 63564)
20190720 16:33:50.181 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:34:12.683 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537785. (Highest index: 132649)
20190720 16:34:12.683 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:34:15.734 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537785. (Highest index: 245870)
20190720 16:34:15.734 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:34:38.051 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537785. (Highest index: 331211)
20190720 16:34:38.051 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:34:40.986 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537788. (Highest index: 369860)
20190720 16:34:40.986 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:34:43.649 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537788. (Highest index: 402867)
20190720 16:34:43.649 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:34:50.300 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537788. (Highest index: 431502) 20190720 16:34:50.300 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:34:54.431 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537788. (Highest index: 481098)
20190720 16:34:54.431 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:34:57.071 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537788. (Highest index: 533166)
20190720 16:34:57.071 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:34:59.707 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537788. (Highest index: 583413)
20190720 16:34:59.709 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:35:02.164 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537788. (Highest index: 631033)
20190720 16:35:02.164 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:35:05.092 WARN grin_wallet_libwallet::internal::restore - Checking 1000 outputs, up to index 1537788. (Highest index: 684165)
20190720 16:35:05.092 WARN grin_wallet_libwallet::internal::restore - Scanning 1000 outputs in the current Grin utxo set
20190720 16:35:19.827 ERROR grin_wallet_impls::node_clients::http - get_outputs_by_pmmr_index: error contacting http://grin2-node2.niffler.org:3413. Error: Request error: Cannot make request: an error occurred trying to connect: Operation timed out (os error 60)
20190720 16:35:19.828 ERROR grin_wallet_controller::command - Wallet check failed: Restore Error 20190720 16:35:19.828 ERROR grin_wallet_controller::command - Backtrace:
Wallet command failed: LibWallet Error: Restore Error

No linux installer

The latest version 0.4.2 has no download for linux on the release page. The last version which does have a linux download is 0.3.1.

Is linux still supported? It says so in the readme.

无法接收交易所的提款

我在交易所提币的时候,发现无法接收到交易所的币,问了客服,都说 钱包版本不同 无法接收。
www.aex.com
gateio.news
这两个交易所的提币是收不到的。。我想知道有什么解决方法没? 我已经看到 钱包转账是可以选择版本了。。。收款 也可以设置版本?

connect to own server

Can this connect to a grin server that runs on a different machine on the internet (which I own)?

Niffler is a nightmare

I am having terrible problems accessing my Niffler wallet. I updated version to 0.5.0 ... now I can't access my wallet to withdraw GRIN. I get message that says "Failed to start Grin owner api. May be wrong password" ... I am entering the correct password. What can I do to access my niffler wallet? I have my seed phrase, but have no idea how to use it to restore my account. Please help.

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.