Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Swift SDK For TON #309

Open
nerzh opened this issue Sep 10, 2023 · 7 comments
Open

Swift SDK For TON #309

nerzh opened this issue Sep 10, 2023 · 7 comments
Assignees
Labels
Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers

Comments

@nerzh
Copy link
Contributor

nerzh commented Sep 10, 2023

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:

  • Implement Cell, Slice, Builder and BOC (de)serialization
  • Implement an RPC client to work with the TON network
  • Implement support for popular structures from block.tlb
  • Implement support of TON base64 addresses
  • Implement support of HashmapE
  • Implement support of TON & BIP39 Mnemonics
  • Implement support of wallets (v3, v3r2, v4r2)
  • Ed25519 signing of transactions
  • Implement for workings with Jettons and NFTs

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

  • 5,000 USD in TON equivalent
  • Standard TON Footstep NFT

Oriental Release Date

27/11/2023

@nerzh nerzh added the footstep This is a TON Footstep issue label Sep 10, 2023
@delovoyhomie delovoyhomie added Infrastructure Task related to system or technology integration Developer Tool Related to tools or utilities used by developers and removed footstep This is a TON Footstep issue Infrastructure Task related to system or technology integration labels Oct 18, 2023
@delovoyhomie
Copy link
Collaborator

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.

@delovoyhomie delovoyhomie closed this as not planned Won't fix, can't repro, duplicate, stale Oct 18, 2023
@nerzh
Copy link
Contributor Author

nerzh commented Oct 18, 2023

@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
Copy link
Collaborator

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

@delovoyhomie delovoyhomie reopened this Oct 19, 2023
@delovoyhomie delovoyhomie added the Approved This proposal is approved by the committee label Oct 19, 2023
@nerzh
Copy link
Contributor Author

nerzh commented Oct 19, 2023

@delovoyhomie thanks for this opportunity

@nerzh
Copy link
Contributor Author

nerzh commented Mar 26, 2024

@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
Copy link
Collaborator

@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 Article: Generation of block random seed #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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers
Projects
None yet
Development

No branches or pull requests

2 participants