AxLabs / grantshares

GrantShares Program 🌱
https://grantshares.io
Apache License 2.0
22 stars 3 forks source link

Wallet infrastructure for NEO web/mobile #102

Open grantshares-dapp[bot] opened 7 months ago

grantshares-dapp[bot] commented 7 months ago

Abstract

As wallets are the first thing that users interact with on the blockchain, there is a strong need for sophisticated infrastructure to handle this matter. That’s why we built Nightly: not only a wallet (both extension and mobile version), but also a Wallet Standard and Nightly Connect.

The idea was to create an environment where developers can seamlessly integrate a growing list of wallets, and users have certainty that their wallet is supported by their favourite dApps. We also give them the opportunity to easily use their mobile devices for transaction confirmations, which significantly improves the security of the whole process.

This GrantShares proposal requests funding for the development of 4 applications on the NEO chain, designed to address all potential problems that may arise with blockchain wallets. The development timeline is set for 4 months and will be conducted by an experienced team of 5 developers.

Proposal Information

Description

We propose you to build four different applications:

NEO Wallet Standard

This will be NEO’s response on Wallet Connect. An open-source, permissionless solution that serves as a wallet adapter. We will build an interface and injection model. After its implementation, wallets will automatically inject themselves into any application using Nightly Connect. Furthermore, this standard will enforce more consistent code across wallets. The API will be deterministic, and every contributor to the standard will be able to influence how it will look.

Nightly Extension Wallet

Our extension wallet works on each leading browser. Apart from the obvious features, we offer swaps, staking, and liquid staking. During the ongoing refactoring process, we are redesigning our wallet to be even more user-friendly and accessible to new users. For example, by adding a tab that aggregates all the most important applications from a given chain, by incorporating more interactive elements, or by providing the option to create an account via Apple or Google accounts.

Nightly Mobile Wallet

Mobile wallet available on both iOS and Android. It has all the same options as in the extension. Thanks to the integration with Nightly Connect, it has the option to establish a connection with any dApp on any device, whether through deep links or QR code scanning.

Nightly Connect

Our Connect is an open-source, permissionless solution that serves as a bridge wallet - a tool to establish a connection through scanning QR codes or deep links on mobile.

Motivation

Neo is one of the most popular smart contract platforms, yet it still lacks core infrastructure elements like wallet standardization and robust mobile/remote support. (Ethereum recently addressed this with https://eips.ethereum.org/EIPS/eip-6963). This then translates to difficulty in creating new decentralized applications and a lack of mobile-friendly apps.

The wallet standard proposed by us solves the problem of standardization and, in combination with the Nightly ecosystem, will provide the best in class UX/DX. Created by us, templates will become the backbone of new applications and drastically speed up project creation and maintenance.

The project aims to attract more transactions and increase the number of NEO holders worldwide. It has already gained significant traction, with over 30,000 users on the Chrome Store and more than 32,000 followers on Twitter.

Goals

While exploring the NEO ecosystem, We noticed three problems:

  1. The shortage of all-in-one wallets in the NEO ecosystem

The scarcity of all-in-one wallets in the NEO ecosystem means that users have limited options when choosing a wallet. Furthermore, there is no satisfactory solution for NEO users who also hold AlephZero, Solana, or Sui. Another issue is the absence of an all-in-one mobile and extension wallet that enables users to browse NFTs, stake, and swap assets, forcing them to use at least two different applications and adapt to varying user interfaces.

  1. The simple process of adding new wallets to the dApp generates many problems

This is a problem for both wallet developers and dApp builders. Wallets without integrations with dApps cannot experience growth. For dApps, this theoretically simple process becomes problematic due to conflicts between wallets or issues with configurations that negatively impact the simplicity and speed of these integrations, making it impractical.

  1. NEO is not ready for mobile adoption

Mobile is the future, but NEO is not prepared for it yet.

Establishing a connection on mobile is challenging for NEO, even though it is one of the most basic mobile operations. There are no tools to handle this process.

Every potential NEO mobile app will need to do it in the same way, which unnecessarily raises the entry barrier for such applications.

Solutions

The first problem can be easily resolved by introducing a new wallet to the chain, which offers both an extension and a mobile version with a user-friendly interface, as well as easy access to basic user needs like NFTs, swapping, or staking.

Creating a NEO Wallet Standard and implementing Nightly Connect will solve the remaining two problems through the following solutions:

  1. An automated and fully permissionless process for adding new wallets

NEO Wallet Standard aggregates every wallet that complies with the wallet standard in a fully automated and permissionless way, without any required action from the dApp's side.

  1. NEO Wallet Standard

The NEO Wallet Standard will enhance the standardization and cohesion of wallet architectures. This will simplify and expedite the maintenance and further development for everyone in the NEO ecosystem.

  1. Ready-to-go tool to handle every way of connections

Nightly Connect will handle every form of connection, whether through deep links or QR codes, and then help you manage additional features like push notifications or enhanced sessions, thus improving the overall mobile user experience. This tool will be open and tailored for every kind of app or wallet, allowing mobile builders to focus on developing more critical aspects of their applications.

Deliverables & Roadmap

Specify deliverables in detail, including the following info for each:

As we plan to develop 4 standalone solutions, we decided to split them to separate milestones. Overall timelines for specific components are:

In the first month, our goal is to create the NEO Wallet Standard: a universal wallet adapter that will benefit everyone on the chain and this is why we will begin with this tool. We can divide this section into several key points:

  1. Core Application SDK
  2. Wallet Auto-detection
  3. Documentation

In the next phase, we will develop NEO's version of our multichain wallets. The desktop version of the Nightly Wallet will be available as an extension for all major browsers, while the mobile app will be simultaneously released for both iOS and Android. Owing to its complexity, this milestone is expected to take approximately two months to complete.  The objectives for this milestone are as follows:

  1. Core wallet functionalities
  2. Creating an account
  3. Operation authorization
  4. Transaction history
  5. Sending/receiving tokens
  6. Support for regular tokens
  7. Support for NTFs
  8. Tab with dApps from the NEO ecosystem
  9. Hardware wallet support
  10. Multi-account support
  11. Swap inside wallet
  12. Staking/liquid staking inside the wallet
  13. Documentation

The last major milestone is Nightly Connect. This open-source and permissionless tool is a safe gateway between desktop and mobile device via QR codes or deep links. Developing include modal for dApps in form of ready to implement package but also template apps similar to this (https://solana-web3-template.nightly.app/). This milestone is estimated to take approximately one month and include:

  1. Ready-to-go modal for dApps
  2. Client for extension wallets
  3. Client for mobile wallets
  4. Documentation
  5. App templates

Deliverables Verifiability

To prove complementation of certain milestones, we propose:

  1. Wallet Standard

1.1 Creation of coherent interface for NEO dApps

1.2 Autodetection SDK of wallets for dApps

1.3 Injecting SDK for wallets

1.4 Example and template for both SDK’s

  1. Nightly Wallet

2.1 Working both mobile and extension versions of apps supporting multi accounts.

2.2 Ability to approve transactions on chains.

2.3 Support for NFTs.

2.4 In-wallet transactions (swap/staking/liquid staking)

  1. Nightly Connect

3.1 Ready to use SDK for wallets and dApps to connect

3.2 Autodetection of wallets

3.3 Relay server

3.4 Templates with nightly connect implementation

Budget Plan

We calculated our cost to deploy all four applications on NEO for about 4000 NEO tokens. This amount is calculated based on our previous projects and market standards.The largest portion is earmarked for development costs, which includes salaries for the team, expenses for necessary software, and any required hardware. This allocation is crucial as it directly impacts the quality and efficiency of the application development process. Based on our timeline estimation, it will cost 3600 NEO (800 working hours at $45 USD each) to complete all milestones.

In addition to development costs, a significant part of the budget is dedicated to marketing efforts. This is essential to ensure that once the applications are ready, they reach the target audience effectively through various promotional strategies like digital marketing and advertisements. Based on previous experience with setting up a marketing campaign for a new chain, we estimate the cost at 400 NEO to create a long-term marketing strategy including an ads budget, prizes, etc.

About You / Your Organization

Short-Bio

Nightly is developed by a team of 5 full-time developers, each with in-depth experience in Rust and Typescript. The team includes:

Portfolio of Projects / Past Experience

Our solutions currently live on several blockchains, including Solana, NEAR, Aptos, Sui and Aleph Zero, for a sustainable time, and you can test them by yourself:

The project has gained significant traction, with over 30,000 users on Chrome Store and more than 32,000 followers on X.


Proposal Info :clipboard:

[ {
  "target_contract" : "0x6276c1e3a68280bc6c9c00df755fb691be1162ef",
  "method" : "releaseTokens",
  "params" : [ {
    "type" : "Hash160",
    "value" : "ef4073a0f2b305a38ec4050e4d3d28bc40ea63f5"
  }, {
    "type" : "Hash160",
    "value" : "4918058210bfab9b908868825d624f7cd41d9106"
  }, {
    "type" : "Integer",
    "value" : "4000"
  } ],
  "call_flags" : 15
} ]

👇 React with 👍 if you liked it, or 👎 if you think this proposal can be enhanced!

denissuslov commented 7 months ago

Great thanks for submitting Norbert,

  1. Hope app owners like Flamingo.Finance or GhostMarket teams can participate to share their opinion if this will be useful and something the don't have yet.
  2. Also we already have a WalletConnect implementation (https://neon.coz.io/), can you describe how your solution will be different and better than the one we have?
denissuslov commented 7 months ago
  1. Nightly Connect supports 1 chain: Solana now? Is it integrated into any Solana app?
  2. We would love to be added to Nightly Wallet, and we have DeFi yields attractive for your users, for example NEO token staking offers 30% yiled (https://neoburger.io/) and Flamingo.Finance has 10-15% yields sustained over 2 years now.
NorbertBodziony commented 7 months ago
2. Also we already have a WalletConnect implementation (https://neon.coz.io/), can you describe how your solution will be different and better than the one we have?

Let's say our workflow is much easier for the user. Opening a new window for connection is not ideal. Here are examples how we work and how it will work on NEO. Mobile: https://twitter.com/Nightly_app/status/1699050735894512022 Web/Remote: https://twitter.com/NightlyConnect/status/1605919833060769792 We also show only relevant wallets and detect installed ones. We enable deep integrations like safari extensions.

For dev perspective:

NorbertBodziony commented 7 months ago
  1. Nightly Connect supports 1 chain: Solana now? Is it integrated into any Solana app?

We already support Sui, Solana, Polkadot and Aleph Zero and constantly growing. Examples: Solana: https://invariant.app/stats Sui: https://www.interestprotocol.com/dapp/swap Aleph Zero: https://azero.upcade.xyz/

4. We would love to be added to Nightly Wallet, and we have DeFi yields attractive for your users, for example NEO token staking offers 30% yiled (https://neoburger.io/) and Flamingo.Finance has 10-15% yields sustained over 2 years now.

That would be great, we even have tailored UI for liquid/normal stacking image

denissuslov commented 7 months ago

That looks good. I don't have doubts about the tech of the proposal. Need any app owners of the eco to join the conversation to know if they are interested in adding Nightly Connect.

NorbertBodziony commented 7 months ago

Small update: Reason why we want to cover entire scope is to enable powerful features for users like Safari extension. Below preview.

https://github.com/AxLabs/grantshares/assets/38857779/b4b67d86-a2ed-47c9-a4ea-d97dfc5c37d3