{"id":32150919,"url":"https://github.com/nerzh/everscale-client-swift","last_synced_at":"2025-10-21T10:29:32.738Z","repository":{"id":39975821,"uuid":"305529072","full_name":"nerzh/everscale-client-swift","owner":"nerzh","description":"Swift Binding for Everscale, Venom SDK. Library for interacting with Everscale, Venom blockchain.","archived":false,"fork":false,"pushed_at":"2025-03-02T15:33:45.000Z","size":10094,"stargazers_count":18,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-18T17:05:57.208Z","etag":null,"topics":["everscale","everscale-client","everscale-sdk","ios","linux","macos","swift","ton-client","venom-blockchain","venom-sdk","venom-tools"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nerzh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-19T22:35:06.000Z","updated_at":"2025-03-02T15:33:48.000Z","dependencies_parsed_at":"2025-03-02T15:27:08.694Z","dependency_job_id":"b3720b94-efb3-41d5-bf72-c737a239f38c","html_url":"https://github.com/nerzh/everscale-client-swift","commit_stats":{"total_commits":228,"total_committers":1,"mean_commits":228.0,"dds":0.0,"last_synced_commit":"78a4b42db3641e3f6a1b7eee716d77dd86c0cb62"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"purl":"pkg:github/nerzh/everscale-client-swift","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nerzh%2Feverscale-client-swift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nerzh%2Feverscale-client-swift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nerzh%2Feverscale-client-swift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nerzh%2Feverscale-client-swift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nerzh","download_url":"https://codeload.github.com/nerzh/everscale-client-swift/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nerzh%2Feverscale-client-swift/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280244104,"owners_count":26297246,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["everscale","everscale-client","everscale-sdk","ios","linux","macos","swift","ton-client","venom-blockchain","venom-sdk","venom-tools"],"created_at":"2025-10-21T10:29:28.751Z","updated_at":"2025-10-21T10:29:32.732Z","avatar_url":"https://github.com/nerzh.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Swift Client for TVM SDK (everscale, venom, gosh)\n\n\u003c!--- \n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/venom-blockchain/developer-program\"\u003e\n      \u003cimg src=\"https://raw.githubusercontent.com/venom-blockchain/developer-program/main/vf-dev-program.png\" alt=\"Logo\" width=\"366.8\" height=\"146.4\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n---\u003e \n\n[![SPM](https://img.shields.io/badge/swift-package%20manager-green)](https://swift.org/package-manager/)\n[![SPM](https://img.shields.io/badge/SDK%20VERSION-1.49.2-orange)](https://github.com/tonlabs/ever-sdk)\n\nSwift is a strongly typed language that has long been used not only for iOS development. Apple is actively promoting it to new platforms and today it can be used for almost any task. Thanks to this, this implementation provides the work of TVM (toncoin, everscale, venom, gosh) SDK on many platforms at once, including the native one for mobile phones. Let me remind you that swift can also be built for android.\n\n| OS | Result |\n| ----------- | ----------- |\n| MacOS | ✅ |\n| Linux | ✅ |\n| iOS | ✅ |\n| Windows | Soon |\n\n## Get api keys and TVM endpoints:\n\nYou need to get an API-KEY here [https://dashboard.evercloud.dev](https://dashboard.evercloud.dev)\n\n\n## Usage\n\nAll requests are async\n\n```swift\nimport EverscaleClientSwift\n\nvar config: TSDKClientConfig = .init()\nconfig.network = TSDKNetworkConfig(endpoints: [\"https://net.ton.dev\"])\nlet client: TSDKClientModule = .init(config: config)\n\n// Crypto\nclient.crypto.factorize(TSDKParamsOfFactorize(composite: \"17ED48941A08F981\")) { (response) in\n    print(response.result?.factors)\n}\n\n// Boc\nlet payload: TSDKParamsOfParse = .init(boc: \"te6ccgEBAQEAWAAAq2n+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE/zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzSsG8DgAAAAAjuOu9NAL7BxYpA\")\nclient.boc.parse_message(payload) { (response) in\n    if let result = response.result, let parsed: [String: Any] = result.parsed.toDictionary() {\n        print(parsed[\"id\"])\n        print(parsed[\"src\"])\n        print(parsed[\"dst\"])\n    }\n}\n```\n\n## Errors\n\n```swift\nclient.crypto.factorize(TSDKParamsOfFactorize(composite: \"17ED48941A08F981\")) { (response) in\n    if let error = response.error {\n        print(error.data.toJSON())\n        print(error.code)\n    }\n}\n```\n\n## Setup TONSDK For Linux and MacOS\n\n### Install sdk with bash script\n \n0. This download SDK to current dirrectory, compile it and add library symlinks to your system   \n```sh\ncd everscale-client-swift\n```\n\n1. For install or update the SDK version simply by running these command \n```sh\nbash scripts/install_tonsdk.sh\n```\n\n### Manual install sdk ( if you have any problem with script install_tonsdk.sh )\n\n\u003cdetails\u003e\n  \u003csummary\u003eSPOILER: Manual installation\u003c/summary\u003e\n\n0. Install Rust to your OS   \n1. git clone https://github.com/tonlabs/ever-sdk\n2. cd ./SDK\n3. cargo update\n4. cargo build --release\n5. copy or create symlink of dynamic library    \n__macOS :__  \n**./SDK/target/release/libton_client.dylib**  \nto   \n**/usr/local/lib/libton_client.dylib**  \n    \n    __Linux :__  \n**./SDK/target/release/libton_client.so**     \nto    \n**/usr/lib/libton_client.so**  \n6. Create pkgConfig file :  \n    \n__macOS :__  \n    **/usr/local/lib/pkgconfig/libton_client.pc**  \n\n```bash\n\nprefix=/usr/local\nexec_prefix=${prefix}\nincludedir=${prefix}/include\nlibdir=${exec_prefix}/lib\n\nName: ton_client\nDescription: ton_client\nVersion: 1.0.0\nCflags: -I${includedir}\nLibs: -L${libdir} -lton_client\n\n```\n__Linux:__  \n    **/usr/lib/pkgconfig/libton_client.pc**  \n    \n```bash\nprefix=/usr\nexec_prefix=${prefix}\nincludedir=${prefix}/include\nlibdir=${exec_prefix}/lib\n\nName: ton_client\nDescription: ton_client\nVersion: 1.0.0\nCflags: -I${includedir}\nLibs: -L${libdir} -lton_client\n```\n7. Copy or create symlink of file   \n**/SDK/ton_client/client/tonclient.h**  \nto  \n__MacOS:__  \n**/usr/local/include/tonclient.h**  \n__Linux:__  \n**/usr/include/tonclient.h**  \n\n\u003c/details\u003e\n\n## Setup TONSDK For iOS\n\n0.   Install Rust\n\n```bash\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh || true \u0026\u0026 \\\nsource ~/.profile\n```  \n\n1. Install \"cargo lipo\"\n\n```bash\nrustup target add aarch64-apple-ios x86_64-apple-ios || true \u0026\u0026 \\\ncargo install cargo-lipo\n```\n\n2. Build SDK for iOS\n\n**Go to your project folder and:**\n\n```bash\ngit clone https://github.com/tonlabs/SDK.git || true \u0026\u0026 \\\ncd ./SDK\n```\n\n```bash\ngit pull --ff-only || true \u0026\u0026 \\\ncargo update || true \u0026\u0026 \\\ncargo lipo --release\n```  \n⚠️ Wait installation\n\n3. In xcode __File \u003e Add files to \"Name Your Project\"__ navigate to ./SDK/ton_client/tonclient.h\n\n4. Create bridge. In xcode __File \u003e New \u003e File__, select Header File, set name for example **Tonclient-Bridging-Header.h** \n\nand add \n\n__#include \u003cstdbool.h\u003e__\n\n__#import \"tonclient.h\"__\n\nlike this:\n\n```C\n#ifndef Tonclient_Bridging_Header_h\n#define Tonclient_Bridging_Header_h\n\n#include \u003cstdbool.h\u003e\n#import \"tonclient.h\"\n\n#endif\n```   \n5. Add path to Tonclient-Bridging-Header.h **$(PROJECT_DIR)/Tonclient-Bridging-Header.h**\n\n\n![](https://user-images.githubusercontent.com/10519803/101789966-9591bc80-3b0a-11eb-8918-1adf36130617.png)\n\n6. Add path to search for libraries ( path to directory withlibton_client.a ) **$(PROJECT_DIR)/SDK/target/universal/release**\n\n\n![](https://user-images.githubusercontent.com/10519803/101791171-e524b800-3b0b-11eb-98fa-29b7a50c3b67.png)\n\n7. __File \u003e Swift Packages \u003e Add Package Dependency__  **https://github.com/nerzh/ton-client-swift**\n\n\n![](https://user-images.githubusercontent.com/10519803/101791238-fa99e200-3b0b-11eb-99f3-8e8120c57e96.png)\n\n8. Build project ...\n\n## Tests\n### If you use Xcode for Test\n\nPlease, set custom working directory to project folder for your xcode scheme. This is necessary for the relative path \"./\" to this library folders.\nYou may change it with the xcode edit scheme menu __Product \u003e Scheme \u003e Edit Scheme__ menu __Run__ submenu __Options__ enable checkbox \"Use custom directory\" and add custom working directory.  \n\nOr if above variant not available, then inside file path_to_this_library/.swiftpm/xcode/xcshareddata/xcschemes/TonClientSwift.xcscheme\nset to tag __\"LaunchAction\"__ absolute path to this library with options:   \n**useCustomWorkingDirectory = \"YES\"**  \n**customWorkingDirectory = \"/path_to_this_library\"**  \n\n\n### Tests\n\n1. inside root directory of everscale-client-swift create **.env.debug** file with\nNET TON DEV\n```\nserver_address=https://net.ton.dev\ngiver_address=0:653b9a6452c7a982c6dc92b2da9eba832ade1c467699ebb3b43dca6d77b780dd\ngiver_abi_name=Giver\ngiver_function=grant\n```\n**Optional:** Install locale NodeSE for tests if you needed:    \n- launch docker  \n- docker run -d --name local-node -p 80:80 tonlabs/local-node   \nnodeSE will start on localhost:80   \n```\nserver_address=http://localhost:80\ngiver_abi_name=GiverNodeSE_v2\ngiver_amount=10000000000\n```\n\n2. Run Tests  \n__MacOS:__  \nRun Tests inside Xcode  \n__Linux:__  \nswift test --generate-linuxmain  \nswift test --enable-test-discovery  \n\n### Update SDK\n\n```bash\ncd everscale-client-swift\n```\n```bash\nbash api_generate.sh\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnerzh%2Feverscale-client-swift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnerzh%2Feverscale-client-swift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnerzh%2Feverscale-client-swift/lists"}