ton-society / grants-and-bounties

TON Foundation invites talent to imagine and realize projects that have the potential to integrate with the daily lives of users.
https://ton.org/grants
310 stars 137 forks source link

Swift SDK For TON #309

Closed nerzh closed 3 months ago

nerzh commented 1 year ago

Summary

This footstep is for the development of the Swift SDK. Swift is popular not only among mobile developers, but has also had a significant server-side community. Developing such a package will help open access to the TON for both mobile and server developers. I haven't found a native implementation of TON primitives in footsteps, so I'm creating this footstep. As an active Swift community activist with experience in both mobile and server development, I'll take great pleasure in developing this package.

Context

Here is a development plan that I would like to implement as part of this footstep:

Goals

Develop the Swift SDK to work with the TON blockchain

Deliverables

GitHub with Swift SDK library and examples

Definition of Done

GitHub repository with the source code

Reward

Oriental Release Date

27/11/2023

delovoyhomie commented 1 year ago

In which scenarios do you envision using Swift for development? I genuinely question its practicality for most users, and maintaining such a platform could be labor-intensive. For now, I have to close this issue. However, should there be a future demand from the community for such a solution, feel free to submit a new request, and we'll certainly review it.

nerzh commented 1 year ago

@delovoyhomie Swift is a relatively young language, and as a result, not many people are aware that it is already available not only on Apple's mobile platforms but is also actively used on other popular platforms such as Linux, Windows, and more. Swift also has a thriving and rapidly evolving Server Side community (https://www.swift.org/sswg/). It's also worth noting that Swift is the only language for professional application development across all of Apple's platforms, including MacOS, iOS, watchOS, and more.

By analogy, you can see how languages like Kotlin are gaining momentum in cross-platform development. Swift is also keeping up with these trends.

I also understand that I already have experience in developing similar libraries (in Ruby), but development in Swift may take more time because this language is lower-level than Ruby and has strict type system like Rust.

I consider a reward of 3,000.00 USD to be a suitable reward for this task.

delovoyhomie commented 1 year ago

Through our personal discussions, we've outlined a promising future for the Swift SDK and agreed upon a suitable reward. Let's get started!

nerzh commented 1 year ago

@delovoyhomie thanks for this opportunity

nerzh commented 7 months ago

@delovoyhomie

Hi, I am happy to announce that I have finished and tested my solutions for Swift. And also that I have done a bit more and added Highloadwallet_v2 to the library for Swift as well as for Ruby

https://github.com/nerzh/ton-sdk-swift https://github.com/nerzh/ton-sdk-swift-smc

delovoyhomie commented 7 months ago

@nerzh thank you for the contribution!

To accurately recognize your valuable contributions in our repository, we kindly request you to submit a Pull Request to the Hall of Fame file, providing the wallet address and a link to the bounty with the number.

Please follow these steps: 1) Fork the repository (if you haven't already). 2) Edit the Hall of Fame file, commit, and push your changes. 3) Create a Pull Request from your fork to the main repository, providing the wallet address and a link to the bounty with the number (for example, Pull Request https://github.com/ton-society/grants-and-bounties/pull/136). For reference on what your entry should look like, please see the examples of past merged pull requests.

4) And please follow the questbook proposal stage in accordance with the bounty guideline

nerzh commented 7 months ago

@delovoyhomie

https://questbook.app/dashboard/?role=builder&chainId=10&grantId=0xd92881bea3923fec2d8e61aa947c981faa4ab970&proposalId=6606faa63a7a913138e364ff