Code Monkey home page Code Monkey logo

g45w's Introduction

G45W

IN DEVELOPMENT

A Dero Universal Wallet with mobile UI. Cross-platform: Linux, Windows, MacOS, Android, IOS...

This wallet uses Gio UI for rendering components.

Why

The goal is to attract more users into the Dero Ecosystem with a wallet that is intuitive, easy to use and does not compromise privacy.

The primary focus is to phase out the Dero RPC Bridge browser extension in favor of this wallet, utilizing the DApps XSWD protocol. This should remove a painful and unsafe step of connecting your wallet directly to a DApp platform.

Additionally, I aim to offer an alternative UI with extra features, including smart contract interactions, organized visualization of NFTs, and extensive language support.

Features

  • Integrated fast-sync Dero Node for full privacy.
  • Connect to a remote node for quick utilization.
  • Multiple wallet management.
  • Manage Dero tokens and NFTs (folder-like structure).
  • Easily send payments and receive with QR code.
  • Fast registration implemented by Pieswap.
  • Address book to manage contacts.
  • Support as much language as possible (12 and counting...).
  • App color schemes (dark, light, blue).
  • Draggable list items (for ordering items).
  • Interact with Dero DEX directly (DEX created by Pieswap).
    • View pair list.
    • Swap form.
    • Add and remove liquidity form.
    • Bridge to Eth (with ringsize).
    • Bridge from Eth through Metamask Extensions and Mobile.
  • Wallet address hashicon (easily recognize your wallets with unique icons) https://github.com/emeraldpay/hashicon.
  • DApps connection with XSWD protocol by Slixe (toggle on/off, manage connections and permissions).
  • Testnet/Mainnet switch component mode.
  • Camera to scan QR code (scan wallet/integrated address).
  • Smart contract explorer for any token (view code, variables, list and execute functions).

Supported languages

  • English, French, Spanish, Italian, Dutch, German, Russian, Portuguese, Romanian, Japanese, Korean, Chinese Simplified, Chinese Traditional

TODO

  • App release (iOS app store, Google play store & F-Droid).
  • Improve UI based on JoyRaptor design.

Demo

Wallet app demo

Alternative wallets

Releases

You can build your own version by following build steps bellow or use available prebuilds here https://github.com/g45t345rt/g45w/releases.

How to build

Setup

If you have Git installed, clone the repository.

git clone https://github.com/g45t345rt/g45w.git

Download and install GO.
https://go.dev/doc/install

Install latest version of GioUI build tool.

go install github.com/g45t345rt/gio-cmd/gogio@latest

Check Github workflows for more build information.
https://github.com/g45t345rt/g45w/tree/master/.github/workflows

Android

Install Android SDK with NDK bundle!

Build the app.

./build_gio.sh android arm64

If your phone is connected and developer mode is on, install the APK directly with this command.

./adb_install.sh

IOS

Xcode is required!

Build the app.

./build_gio.sh ios arm64

Linux

Install dependencies

Fedora 35+

dnf install gcc pkg-config wayland-devel libX11-devel libxkbcommon-x11-devel mesa-libGLES-devel mesa-libEGL-devel libXcursor-devel vulkan-headers

Ubuntu 18.04+

apt install gcc pkg-config libwayland-dev libx11-dev libx11-xcb-dev libxkbcommon-x11-dev libgles2-mesa-dev libegl1-mesa-dev libffi-dev libxcursor-dev libvulkan-dev

Build the app.

./build_go.sh linux amd64

Windows

Build the app.

./build_gio.sh windows amd64

MacOS

Xcode is required!
Build the app.

./build_gio.sh macos amd64

Outputs

/build/g45w_windows_amd64.exe
/build/g45w_linux_amd64
/build/g45w_macos_amd64.app
/build/g45w_ios_arm64.app
/build/g45w_android_arm64.apk
/build/g45w_android_arm.apk

Contributors

List of contributors. Thank you all!
If your alias is not listed, pls let me know.

Translation

Most translations were done with ChatGPT and are far from being accurate.
If you notice any errors, pls update the values in /assets/lang folder and create a pull request.

jvx

Testing

jvx, secretnamebasis, Derolifestyle, JoyRaptor, chakipu, TheObjectiveAlpha,
Lutamm, VastoLorde, rexBGcoxx, Kray0005, Apollo, Coose, Cypherpunk, o1o7, keyper, Zalamander, ArcaneSphere, proprivacy, Wind_W#369, Ulmo, AltCtrl, Cats, derionner

License

This project is licensed under the MIT License.

The MIT License (MIT)
Copyright (c) 2023 g45t345rt

g45w's People

Contributors

g45t345rt 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

Watchers

 avatar  avatar  avatar  avatar

g45w's Issues

Stuck while "Loading lookup table" on Android

I've tried to install the v0.5.0 g45w_android_arm.apk on my Android phone.

However, when starting the app it is stuck on the "Loading lookup table" screen. I've waited like 15 minutes, but still nothing happens.

Do I just have to wait longer? Might this be a network problem?

I'm using LineageOS 19

Invalid character '\x00' looking for beginning of value

Hi, @etermine236. I have deleted your comment, because it should be an issue.

Initial comment

Hi, I need help. I have created a wallet in G45W and every time I try to enter my password. It says "Invalid character '\x00' looking for beginning of value". I have quite a bit of Dero in it and I am new in crypto so I really need help entering my wallet.

How to fix

The error usually means that your wallet file was corrupted somehow.
You have two options to fix the problem.

1. Use the .bak file.

  1. Locate the folder where your wallets are located. On Windows it's %appdata%/g45w/wallets.
  2. Open the folder of the wallet that is corrupted.
  3. Delete wallet.db.
  4. Rename wallet.db.bak -> wallet.db and try open the wallet again.

P.S This might not work, because the backup could be corrupted as well. If this is the case you need your seed to recover.

2. Create new wallet from seed.

  1. Locate the folder where your wallets are located. On windows it's %appdata%/g45w/wallets.
  2. Delete the folder of the wallet that is corrupted.
  3. Open the app and select Recover from seed.
  4. Enter your seed and recover.

Fedora Linux Error: SIGSEGV segmentation violation

Thanks @g45t345rt for your efforts!

I was trying to build and run the wallet on Fedora Linux 38. So I followed these steps:

git clone https://github.com/g45t345rt/g45w
cd g45w
sudo dnf install -y gcc pkg-config wayland-devel libX11-devel libxkbcommon-x11-devel mesa-libGLES-devel mesa-libEGL-devel libXcursor-devel vulkan-headers
chmod +x build_go.sh
./build_go.sh linux amd64
./build/g45w_linux_amd64

But unfortunately, I get the following error:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0xf156e3]

goroutine 101 [running]:
main.runApp()
        /home/username/Documents/g45w/main.go:164 +0x5a3
main.main.func1()
        /home/username/Documents/g45w/main.go:181 +0x19
created by main.main
        /home/username/Documents/g45w/main.go:180 +0x25

I'm using g45w v0.5.0 (33dfefa)

Typo in the Options menu

When you click Options from the wallet, the text inside of the Comment section has a typo. It reads "The comment is store on the blockchain and natively encrypted." It should read: The comment is stored on the blockchain and is natively encrypted.

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.