Giter VIP home page Giter VIP logo

zepio's Introduction

ZEPIO IS NO LONGER ACTIVELY MAINTAINED

We will be archiving this repo soon. If you would like a shielded-first desktop wallet, we recommend ZecWallet.

Zepio is a Sapling-enabled shielded-address-first Zcash wallet, featuring cross-platform applications (macOS, Windows and Linux), built-in full node with support for mainnet and testnet, as well as dark and light themes.

Build Status Flow Coverage

Zepio Wallet

Stack Information

List of the main open source libraries and technologies used in building Zepio:

  • zcashd: Zcash node daemon
  • Electron: Desktop application builder
  • React: User interface view layer
  • Redux: Predictable application state container
  • Styled Components: Visual primitives for theming and styling applications
  • webpack: Application module bundler (and more)
  • Babel: ES7/JSX transpilling
  • ESLint: Code linting rules
  • Flow: JavaScript static type checker
  • Docz: Documentation builder
  • BigNumber.js: Arbitrary-precision decimal and non-decimal arithmetic with safety

Installing and Running From Source

To run Zepio from source you'll need to perform the following steps:

# Ensure you have Node LTS v8+
# https://nodejs.org/en/

# Clone Codebase
git clone [email protected]:ZcashFoundation/zepio.git

# Install Dependencies
# inside of the `zepio` folder
yarn install
# or
npm install

# Start Application
# webpack development server hosts the application on port
# 8080 and launches the Electron wrapper, which also hosts
# the `zcashd` node daemon process.
yarn start
# or
npm start

Building Application Locally

To build the application locally follow the instructions below:

# Make sure you are inside of the main `zepio` folder

# Run Build Script
yarn electron:distall

# Executables and binaries available under `/dist` folder

Flow Coverage (Static Type Checker)

For a deeper look on the static typing coverage of the application, please follow below:

# Make sure you are inside of the main `zepio` folder

# Generate Flow Coverage Report
# this can take a couple seconds
yarn flow:report

# Browser should open with the file `index.html` opened
# Files are also available at `zepio/flow-coverage/source`

Component Library (Docz)

To see Zepio's React component library, please visit https://zepio-components.now.sh. We're always looking for folks to help keep the styleguide updated.

To run the component library locally, run the following:

# Make sure you are inside of the main `zepio` folder

# Run Docz Development Script
yarn docz:dev

# Visit http://127.0.0.1:4000/

To build the component library locally, run the following:

# Make sure you are inside of the main `zepio` folder

# Run Build Script
yarn docz:build

# Check `/.docz/dist` folder for built static assets

Tests

To run the application's tests, please run the below:

# Make sure you are inside of the main `zepio` folder

# For Unit Tests: Run Jest Unit Test Suite
yarn test:unit

# For E2E (end-to-end) Tests: Run Jest E2E Suite
yarn e2e:serve
# on another terminal window
yarn test e2e

Contributing

In order to contribute and submit PRs to improve the Zepio codebase, please check our CONTRIBUTING guide.

License

MIT © Zcash Foundation 2019 zfnd.org

zepio's People

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zepio's Issues

Default custom fee values

zepio-send-customfee

The custom fee default values are an order of magnitude higher than the default network fee of 0.0001 ZEC. Having a fee that is 10x the default fee marked as Low is somewhat confusing.

Can't spend coins

After buying zcash on the exchange, information about zcash entering Zepio appeared, but I can’t spend coins. I thought the matter was in confirmations, but all incoming transactions are confirmed. Coins simply do not appear and hang in unconfirmed.

Also, after the next purchase to the same zcash wallet and the transfer of part of the coins, the remaining part disappeared from the wallet and also is hung in unconfirmed.

Please help me to resolve the issue!

(feature request) - Introduce address naming/labeling support

I'd like to be able to name addresses in the "Receive" tab based on what I use them for.

I would also like to be able to save other people's addresses in some kind of "Contacts" section and name those as well. That's more tentative since people roll to different addresses often (I think? Actually not sure how common that is)

Zepio not authorized to access rpc and passcode

Hello, Windows user here, I am using external zcashd that I run on ubuntu, when attempting to install zepio on ubuntu I receive the message:
dpkg: error: cannot access archive 'zepio-linux-vX.X.X.deb': No such file or directory
I have downloaded the zepio.deb file.
The only reason I ran external node to begin with is that Zepio did not run a daemon by default when I downloaded the windows version and I received the check logs error message.
Thank you in advance for any help!

re-size the width of the App

When I re-size the width of the App, the content inside does not adjust accordingly.
I am running the Windows version of Zepio.

(feature request) - Shielded memo character count

Summary

A user doesn't know when they have exceeded the character limit in a shielded memo until after they press 'Send'. Doubly annoying is all fields are wiped upon return--including the memo!

Suggesting:

  1. A Twitter-style character counter (including the red highlighted text when exceeding the limit)
  2. Should a user go over the limit and still press 'Send', have the data in the To, From, Amount and Memo fields persist
  3. Improve the Error copy to be more friendly. Something akin to: "Whoops! You've exceeded the maximum character limit in your memo. Please edit and try again. 🙂")

[Styled Components] Questions and Concerns

So while adding the littlest bit of styles to the sidebar and layout, and I'm getting concerned with the way Styled Components does styling. So I have a couple questions that I hope you guys can address.

1) Are styles going to live within the same file as the components? These files will begin to get really long. What's our plan here? Will every component have a COMPONENTNAME-styles.js file next to it? Or what did you guys have in mind?

screen shot 2018-12-04 at 10 56 29 pm

2) Say I have 2 styled divs (, ), and as I'm implementing the feature, I realize that I have to add a third div inbetween the two, and I need to style that div, so now I need to create a new component called (could also lead to me having to change the name of to something else for clarity), and then style it. These seem like a lot of steps when I could simply have just given the

a className and style it directly without worry. What's going on here? So every div that exists in the app will need to have something like this?

screen shot 2018-12-04 at 11 03 33 pm

3) Usually EVERY SINGLE DIV in the page is styled, it's usually there for a reason, a purpose. With that in mind, if we look at this code example below (simple form), I'd need to create LOTS styled divs just to create that layout. I definitely understand that we'd create various components that will be reused, but still feels like there's a lot of inbetween divs that will need to be styled and will require a lot more lines of code to be able to style.

screen shot 2018-12-04 at 11 06 58 pm

4) The color: ${props => props.theme.colors.secondary} styled components flow of selecting variables is also much less friendly than simply passing a variable into the css color: $variable-color;. So I'm confused as to how this is better than before?

Zepio could not find a daemon running

Summary

After synchronizing the network, I can not start the wallet.
Zepio could not find a daemon running, please check the logs!

Relevant information

zcash log:
2019-09-22 19:21:32 LoadBlockIndexDB: last block file = 149
2019-09-22 19:21:32 LoadBlockIndexDB: last block file info: CBlockFileInfo(blocks=2068, size=74250297, heights=595957...598047, time=2019-09-02...2019-09-06)
2019-09-22 19:21:32 Checking all blk files are present...
2019-09-22 19:21:32 LoadBlockIndexDB: transaction index disabled
2019-09-22 19:21:32 LoadBlockIndexDB: insight explorer disabled
2019-09-22 19:21:32 LoadBlockIndexDB: hashBestChain=00000000007cf1833dee9b36c96054cc8f28bc84725f6991f39c79d313b4ba4d height=598016 date=2019-09-05 23:19:22 progress=0.947265
2019-09-22 19:21:32 *** This version has been deprecated as of block height 598012. You should upgrade to the latest version of Zcash.
2019-09-22 19:21:34 Verifying last 288 blocks at level 3
2019-09-22 19:21:37 Shutdown requested. Exiting.
2019-09-22 19:21:37 Shutdown: In progress...
2019-09-22 19:21:37 StopRPC: waiting for async rpc workers to stop
2019-09-22 19:21:37 StopNode()
2019-09-22 19:21:37 scheduler thread interrupt
2019-09-22 19:21:37 Shutdown: done

Environment (if relevant)

No containers used

  • What version of Zepio are you using?
    Last version - 0.7.4
  • Which Operating System are you using (macOS/Linux/Windows)? What version?
    Ubuntu 18.04.3 lts
  • Are you using an external zcashd daemon or the one built inside Zepio?
    The default - one built inside

Logs (if relevant)

{"error":false,"status":"Downloading network params, this may take some time depending on your connection speed"}
Fetching params
Zcash - fetch-params.sh

This script will fetch the Zcash zkSNARK parameters and verify their
integrity with sha256sum.

If they already exist locally, it will exit now and do nothing else.

{"error":false,"status":"Zepio Starting"}
Searching for zcashd.pid
Zepio couldn't find a zcashd.pid, that means there is no instance of zcash running on the machine, trying start built-in daemon
Zcash Daemon running. PID: 24675

  • %APPDATA%/zepio/main-process-logs.txt on Windows
  • $XDG_CONFIG_HOME/zepio/main-process-logs.txt or ~/.config/zepio/main-process-logs.txt on Linux
  • ~/Library/Application Support/zepio/main-process-logs.txt on macOS

How to pause syncing?

Summary

Can I pause syncing somehow and have the built-in zcashd daemon still running?

My use case is to use the RPC endpoint of zcashd for which I don't need any more data than has already been synced.

Environment (if relevant)

  • Zepio v0.7.4
  • Windows 10 Pro 64-bit
  • Built-in

.deb package is missing some dependencies

The .deb is missing the libappindicator1 dependency.

adityapk@t3 ~/Downloads> sudo dpkg -i zepio-linux-v0.7.0.deb 
Selecting previously unselected package zepio.
(Reading database ... 272462 files and directories currently installed.)
Preparing to unpack zepio-linux-v0.7.0.deb ...
Unpacking zepio (0.7.0) ...
dpkg: dependency problems prevent configuration of zepio:
 zepio depends on libappindicator1; however:
  Package libappindicator1 is not installed.

After I manually installed the package, it worked. Maybe add it as a dependency in the .deb file?

Zepio could not find a daemon running, please check the logs!

The problem with Zepio wallet, it stacks on launch. I use windows 10 (1903). My version of Zepio 0.7.4.
It worked well till a week ago.

Thanks for help.

Here is log file:

{"error":false,"status":"Downloading network params, this may take some time depending on your connection speed"}
Fetching params
sprout-verifying.key already is in C:\Users\PC-N\AppData\Roaming\ZcashParams\sprout-verifying.key...
sapling-output.params already is in C:\Users\PC-N\AppData\Roaming\ZcashParams\sapling-output.params...
sapling-spend.params already is in C:\Users\PC-N\AppData\Roaming\ZcashParams\sapling-spend.params...
sprout-groth16.params already is in C:\Users\PC-N\AppData\Roaming\ZcashParams\sprout-groth16.params...
sprout-proving.key already is in C:\Users\PC-N\AppData\Roaming\ZcashParams\sprout-proving.key...
{"error":false,"status":"Zepio Starting"}
Searching for zcashd.pid
Zepio couldn't find a zcashd.pid, that means there is no instance of zcash running on the machine, trying start built-in daemon
Zcash Daemon running. PID: 7376
Error: This version has been deprecated as of block height 598012. You should upgrade to the latest version of Zcash.

(feature request) - Better error handling

Summary

When syncing Zepio from ~95%, I was presented with the: "Zepio could not find a daemon running, please check the logs" error message. Now, I knew it was probably because I needed to update, but I wanted to check the logs just to see what they said, but I had no idea which ones or where they be.

Motivation

My main question is what can be done to improve the UX when this happens? A link to the logs? Better instructions? Is there a way to pull the info from the logs and state the problem with more specificity?

blockchain from zecwallet

I downloaded the ZEC blockchain when first using ZecWallet and was wondering if I can just import all the .dat files into Zepio? If so, how? I would prefer not to have to download the whole blockchain all over again.

Zepio could not find a daemon running, please check the logs

zepio-bug

As reported here: https://forum.zcashcommunity.com/t/introducing-zepio-wallet/33644 this error is displayed when launching Zepio. As per that forum thread various debugging options have been tried such as removing the params dir and also renaming any existing .zcash directory.

I can confirm it works when connecting to an external zcashd so it looks like it is not detecting that it needs to start the embedded zcashd for some reason.

{"error":false,"status":"Downloading network params, this may take some time depending on your connection speed"}
Fetching params
Zcash - fetch-params.sh

This script will fetch the Zcash zkSNARK parameters and verify their
integrity with sha256sum.

If they already exist locally, it will exit now and do nothing else.

{"error":false,"status":"Zepio Starting"}
Already is running!

Console doesn't show statistics

Description

Console doesn't show statistics.

Steps to reproduce

Click on Console tab.

Expected result

Statistics should be shown.

Actual result

Statistics are all zero.

Screen Shot 2019-06-14 at 20 56 56

Environment

  • What version of Zepio are you using?
    Latest develop branch.
  • Which Operating System are you using (macOS/Linux/Windows)? What version?
    macOS 10.13.6 (17G8018)
  • Are you using an external zcashd daemon or the one built inside Zepio?
    Built-in.

Logs

There are no errors in the log.

ZEPIO is activating best chain......

i have run externally zcashd and zepio has started with the message : ..is activating best chain but it never stops neither gives any oteher message to inform how mutch time it needs to complete

Relevant information It begins to draw a circle and proceed almost speedly but when it reaches about the 90-95% it stops without message , showing always the same message

Environment (if relevant) win10

  • What version of Zepio are you using? v0.8.0
  • Which Operating System are you using (macOS/Linux/Windows)? What version? win10
  • Are you using an external zcashd daemon or the one built inside Zepio? external because it is enable to find anyone on my pc or other. Indeed initially it was enable to start because not found daemon running

Logs (if relevant)

  • %APPDATA%/zepio/main-process-logs.txt on Windows
  • $XDG_CONFIG_HOME/zepio/main-process-logs.txt or ~/.config/zepio/main-process-logs.txt on Linux
  • ~/Library/Application Support/zepio/main-process-logs.txt on macOS

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.