Grants icon indicating copy to clipboard operation
Grants copied to clipboard

Secret Network Anywhere / Secret .NET 6 SDK

Open 0xxCodemonkey opened this issue 2 years ago • 3 comments

Secret Network Anywhere / Secret .NET 6 SDK

Announcement: Secret.NET is here! 🥳

Secret.NET is a full Port of secret.js written in .NET 6 including MAUI support.

With Secret.NET you can easily build native privacy-preserving applications with .NET and MAUI on Secret Network for iOS, Android, macOS and Windows with a single codebase 🔥 (incl. Token / SNIP20 and NFT / SNIP721 client).

Full announcement and details: https://twitter.com/0xxCodemonkey/status/1578002298621423616

GitHub: https://github.com/0xxCodemonkey/SecretNET https://github.com/0xxCodemonkey/SecretNET.NFT https://github.com/0xxCodemonkey/SecretNET.Token

Project Description

This project creates a port from the secret.js SDK to .NET 6 (Core) (Secret.NET SDK) which communicates with Secret Network via gRPC-web.

Secret.NET would open up tremendous potential for more types of applications and dApps to interact with Secret Network:

  • native mobile apps for iOS and Android

  • native desktop apps for Windows and Linux

  • Tizen apps (Samsung)

  • Business apps in cloud environments such as Azure or AWS

  • etc.

In addition to the Secret.NET SDK, a .NET MAUI example project will be created that implements the most important functions in a practical way.

Thanks to the brand new .NET MAUI, applications for all major platforms can be created with a single codebase :heart_eyes: (iOS, Android, Windows, Linux (via Community) and Tizen (Samsung)):

.NET MAUI

:fire: A working Proof-of-Concept (PoC) for iOS, Android, Windows app is presentable :fire:

To make sure that everything works, I have already created an working PoC which runs like a charm on my iPhone 12 Pro (iOS 15.5)

The PoC can already call the following functions natively on iOS, Android and Windows:

  • Creating a Wallet from a Mnemonic Phrase or Private Key

  • Querying the account balance

  • Transfer of $SCRT

  • Query a smart contract (get_counter)

  • Execution of a function of a smart contract (increment)

Problem / Solution

Currently, application development with Secret Network is web / JavaScript focused, which can be a issue for many use cases. In addition, it is also difficult for classic "no coiner" developers to create applications for Secret Network.

Many professional developers who don't primarily write applications for the web have a hard time getting up to speed on the subject and need a lot of stamina. I speak from my own experience here.

Since I strongly believe in the enormous potential of Secret Network and I think that a wide range of apps e.g. native iOS and Android apps but also enterprise business applications are a huge opportunity.

So I sat down to raise this potential.

Detailed product description

Secret.NET SDK

The library is a port of the secret.js SDK and is based on .NET 6 and will support .NET MAUI. The lib communicates with Secret Network via gRPC-web (Port 9091), but also supports classic gRPC and thanks to .NET 6 also supports HTTP/3 as future protocol.

I will extend the library functionally with the possibilities and features of .NET to simplify the use.

Additionally I will create integration / unit tests for the most important functions, which will run against a local DEV instance.

A documentation of the library is of course also included.

Secret.NET MAUI Example Project (iOS, Android, Windows and Mac OS)

In addition to the Secret.NET SDK itself, I will provide .NET MAUI project which includes an example of each of the following functions:

  • Creating a Wallet from a Mnemonic Phrase or Private Key

  • Querying the account balance

  • Transfer of $SCRT

  • Query a smart contract (get_counter)

  • Execution of a function of a smart contract (increment)

  • SNIP20 Token: Create, transfer and show balance

  • Minting of an own NFT

  • Retrieve and display information from an NFT

  • Switching between network (pulsar-2, local dev, main)

All code will of course be freely available on GitHub.

Go-to-Market plan

Since this is not a commercial project, intended "only" for the Secret Network ecosystem / developers, there is no real go-to-market plan or is equal to the roadmap.

Value capture for Secret Network ecosystem

.NET or C# is one of the most widely used high-level languages (#5 in the TIOBE Index) and home to 5 million developers.

With .NET MAUI it is very efficiently possible to create applications with a single codebase for all major platforms. This combination offers huge potential for a number of use cases.

With the help of the Secret.NET MAUI example project, it will be very easy for new .NET developers to get started with dApp development.

Additionally, Secret Network would be one of the first (if not the first) blockchain to have a .NET MAUI client and an example app.

.NET MAUI ~~is still in preview and will be released in a few weeks~~ got released on 8/9/2022.

Team members

Codemonkey (:sunglasses: Secret Agent)

Team's experience

I am an professional german based .NET freelancer / software architect with over 22 years coding experience. Mostly working for big german companies.

Team Code Repos

Code is not yet published, but all code will of course be freely available on GitHub.

You can find the repoitories with the first draft of the short overview here:

Team LinkedIn Profiles

I will be happy to give more details in a personal call / dm

Development Roadmap

The project is divided into the following three milestones and since I am constantly busy with projects, I expect to work 25 hours per week on the project.

1. Secret.NET SDK

  • ~~PoC inkl. MAUI => completed (took about 100 h)~~

  • ~~Finalize SDK and implement all functions from secret.js (80 h)~~

  • Secret.NET SDK (full port of secret.js) incl. latest full set of SNIP20 / 721 Methods => completed (took 200 h) ✔️

  • Write Integration / Unit tests (40 h)

  • Write documentation (30 h)

=> 270 h (200 h completed)

=> still needs about 2 - 3 weeks to gets finished

2. Secret.NET MAUI example project

  • Setup Design / UX

  • Implement “Retrieve and display information from an NFT“

  • Implement “Minten of an own NFT“

  • Write documentation

=> 40 h

=> took about 3 - 4 weeks

Grant Request

My normal hourly rate is at 85 EUR / h (~88 USD / h) and I would kindly request for a grant for the mentioned efforts / hours. I would accept a payment in SCRT but include a 30% risk buffer because we are currently in a bear market and have regulatory uncertainty.

So I ask for total of 35k USD in SCRT (310h * USD / h = 27.280 + 30% = 35.464 USD)

Ideally, I would like to receive the following payments:

  1. 15k at the beginning of the grant for my completed work on the PoC (130 h)

  2. 15k after the implementation of the Secret.NET SDK / milestone 1 (140 h)

  3. 5k after the implementation of the Secret.NET MAUI example project / milestone 2 (40 h)

0xxCodemonkey avatar Jun 16 '22 06:06 0xxCodemonkey

Please reach out via Discord Jay | 𝕊hadowRealm🥷🏼#0086 or telegram @LongFellow21 so we can schedule a meeting to discuss your grant.

JayScrtNetwork avatar Jun 25 '22 23:06 JayScrtNetwork

@YonatanE22 I have updated the section "Team Code Repos" and already entered the GitHub repros here.

Here you can find a first draft of the short overview of the individual packages

0xxCodemonkey avatar Aug 18 '22 09:08 0xxCodemonkey

Secret.NET is here! 🥳

Secret.NET is a full Port of secret.js written in .NET 6 including MAUI support.

With Secret.NET you can easily build native privacy-preserving applications with .NET and MAUI on Secret Network for iOS, Android, macOS and Windows with a single codebase 🔥 (incl. Token / SNIP20 and NFT / SNIP721 client).

Full announcement and details: https://twitter.com/0xxCodemonkey/status/1578002298621423616

GitHub: https://github.com/0xxCodemonkey/SecretNET https://github.com/0xxCodemonkey/SecretNET.NFT https://github.com/0xxCodemonkey/SecretNET.Token

0xxCodemonkey avatar Oct 06 '22 13:10 0xxCodemonkey