funded

Avatarada

$43,040.00 Received
$53,800.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Addresses Challenge
Feasibility
Auditability
ソリューション

カルダノウォレットでセキュアなOAuth2を導入することで、ユーザーのアカウント管理が容易になり、開発期間も短縮されます。

Problem:

Users have to register/manage separate accounts for different Cardano projects. Poorly made projects can incur the leak of personal data.

Yes Votes:
₳ 44,163,719
No Votes:
₳ 3,922,176
Votes Cast:
125

This proposal was approved and funded by the Cardano Community via Project F8: Open Standards & Interoperability Catalyst funding round.

  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download

[IMPACT]

Open-standard authentication

As more new Cardano-related projects are launched, users have to create new accounts and share more personal information with each separate project. On the other hand, developers have to reimplement login functionality and take care of different verification methods with wallets requiring separate code for each wallet supported. Avatarada will provide a single place for users' accounts that any website or mobile app can effortlessly implement using an open-standard OAuth2 authentication.

Account = wallet

Avatarada will take care of verifying wallet accounts. Each wallet is a separate account, and the staking key that connects payment addresses will become a login.

Users can register/verify wallets with different methods:

  1. The simple method available for any wallet software, including CLI, is to send a small, randomly selected amount to the first payment address within a specific timeframe. Although the payment is not sent to any external or Avatarada address, it involves a small transaction fee.
  2. The second method utilizes the message signing feature that some wallets like ccvault, Nami, etc., provide. The benefit of this method is that it avoids sending any transactions/fees. Since each wallet has a different API, Avatadara needs to implement and support as many wallet options as possible.

After creating a verified account, the process of logging in to different websites or mobiles apps will be similar to the "Login with Google, Twitter, Facebook, etc.“ buttons commonly found across the internet. However, users will not have to provide their passwords to websites they want to sign in to. At the same time, Avatarada informs users of "scopes" provided to a website before they agree to sign in.

Speeding up development

Websites will not only get the wallet id (staking key) of the signed-in user, but they can also request additional public information about the wallet, such as the current balance, list of payment addresses, list of tokens/NFTs on the wallet, etc. Providing that information saves time and money on infrastructure for developers because they do not have to deploy nodes with db-sync or similar software, simplifying the entire development process.

Communication with users

In the crypto space, wallet owners prefer to stay anonymous. The purpose of Avatarada is to provide websites with the required minimum amount of personal information about the user. On the other hand, personal information such as an email address is commonly used by websites to notify users about transactional updates or promotional announcements. Avatarada solves that problem by allowing websites to send messages to users that previously signed in through Avatarada API. Users will see those messages in the Inbox section. For users that added and verified additional communication channels such as an email or Telegram, Avatarada can send an additional notification to that communication channel with the information about the notification and the content. Avatarada will not provide personal information to websites, but websites can send transactional messages without knowing emails. Allowing websites to send messages to only previously signed-in users will avoid spamming. Users can also manage their inbox and choose to block or allow transactional messages only.

Communication channels

As explained previously, users can add and verify emails, Telegram, or other communication channels that Avatarada can send notifications to. An essential part of communication channels is allowing Callback URI. Avatarada will send structured requests from websites to the user's Callback URI. As a result, connecting a payment gateway or automatizing bidding on NFT marketplaces will become a simple task. It also provides more space for the convenient implementation of different ideas, resulting in more opportunities for developers built on the same standard.

Public wallet information

Communication channels linked to a user account have to be verified. For example, a newly added email address will get a confirmation code, a domain must be verified with TXT record in DNS, etc. Verified contact information, including the uploaded avatar, can also become public if the user desires. Services such as blockchain explorers or wallets can use Avatarada API to request and display public information. Since only verified contact information can become public, showing a verified domain name or an email address can help fight scams.

Public wallet key

The public key is unknown to others by default. Revealing the public key to Avatarada is not dangerous, but it will allow Avatarada to generate new, unused payment addresses for the wallet. The new address may be useful for billing, generating invoices, receiving tokens, etc. Avatarada can generate a new, unused address and provide it to the service the user is signed in to.

Avatarada has to be a high-availability and high-load project. The main challenge is the infrastructure that will make it available and work 24/7 without downtime.

[FEASIBILITY]

Milestones:

  1. Design, UI/UX.
  2. Initial development with wallets registration.
  3. Initial alpha launch with OAuth2 with connecting services
  4. Implementing extended API for querying the blockchain.
  5. API for delivering messages from services to users (Inbox).
  6. Notification through different communication channels (emails, Telegram bot).
  7. Public API with public wallet details for blockchain explorers and wallets integration.
  • db-sync servers (2-3x) with 32G RAM each for 1 year: $2880
  • main production server (1) for the initial launch for 1 year: $960
  • testnet server (1) for testing for 1 year: $360
  • backend developers (2) salary for 5 months: $40k
  • frontend developer (1) salary for 5 months: $15k
  • designer (1) salary for 2 months: $5k
  • documentation and localizations: $800
  • CDN (preferably Akamai) for static delivery

Total: ~$65k

We ask for a lower amount since we would like to cover some expenses from our own money and start development earlier than Fund8 final results. Avatarada is a project that will integrate into our ADAPlus and PoolBoost projects.

At the moment, we have a brilliant team of three backend developers, two frontend developers, one designer, and one system administrator. They all have experience and understanding of the Cardano blockchain since we already built ADAPlus blockchain explorer and currently working on an open-source mass-payment solution.

[AUDITABILITY]

As mentioned above, Avatarada will be used on two projects we are working on at the moment. Therefore, we need to launch it as soon as possible internally, test it, and then provide it to the Cardano community as a working project. We are also open to registering external services at the early beta stage to improve quality and provide features that external services really need. We would like to onboard 5 new external projects using Avatarada by the end of July.

  • Implementing Avatarada as a working solution for ADAPlus and PoolBoost projects without any additional registration/login requirement.
  • Onboarding and connecting other external services as NFT marketplaces and services similar to PoolTool, AdaPools, AdaStat.

This is an entirely new project/idea for the whole Cardano community and developers. It does not depend on other proposals, but some of our projects and, we are sure, many others will benefit from it.

コミュニティ・アドバイザー・レビュー (1)

Comments

Monthly Reports

Working on the front-end

Disbursed to Date
$43,040
Proposal
Avatarada
Status
Still in progress
Completion Target
8/31/2022
Comments 0

Login or Register to leave a comment!

No

Disbursed to Date
$43,040
Proposal
Avatarada
Status
Still in progress
Completion Target
8/31/2022
Attachment(s)
Comments 0

Login or Register to leave a comment!

No

Disbursed to Date
$43,040
Proposal
Avatarada
Status
Still in progress
Completion Target
2. In the next 3 months
Attachment(s)
Comments 0

Login or Register to leave a comment!

All going great. I attach a video that shows the progress on Avatarada and PoolBoost projects.

Disbursed to Date
$43,040
Proposal
Avatarada
Status
Still in progress
Completion Target
1. In the next month
Comments 0

Login or Register to leave a comment!

The project is already launched, publicly available and working at https://avatarada.io We are completing API documentation for apps that can receive different information about the user from the blockchain without having their own db-sync instances or even nodes.

Disbursed to Date
$43,040
Proposal
Avatarada
Status
Launched
Completion Target
1. In the next month
Comments 0

Login or Register to leave a comment!

The project is complete and available at https://avatarada.io

Disbursed to Date
$43,040
Proposal
Avatarada
Status
Complete
Completion Target
1. In the next month
Comments 0

Login or Register to leave a comment!

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3分 24秒
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4分 3秒
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3分 48秒
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2分 16秒
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3分 14秒
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3分 19秒
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4分 59秒
    Darlington Kofa
0:00
/
~0:00