TON Dev News
43.2K subscribers
66 photos
9 videos
238 links
Short announces with new services, tools, libraries and their features. Request a post: https://tg-me.sbs/tondev_news/33
Download Telegram
๐ŸŽ‰ Welcome Challenge: A Tact Developers Competition!

DivaTech is launching TON Contests โ€” a platform for hosting competitions for TON smart contract developers.

To celebrate the launch, weโ€™re kicking off our first contest โ€” Welcome Challenge with a $1000 prize pool!

Youโ€™ll face 5 easy-to-medium-level tasks in Tact smart contract development, with 6 hours to solve them.

๐Ÿ“… When: April 13, 3:00 PM โ€“ 9:00 PM (GMT+3)
๐ŸŒ Where: Online at toncontests.com

๐Ÿ† Prizes:
๐Ÿฅ‡ Top 5: $100 each
๐Ÿฅˆ Next10: $35 each
๐Ÿฅ‰ Next 15: $10 each

Registration for the Welcome Challenge is now open
โšก7๐Ÿ”ฅ5๐Ÿ‘4โคโ€๐Ÿ”ฅ3
Forwarded from TON Contests
Media is too big
VIEW IN TELEGRAM
๐Ÿง  Tact Smart Battle ๐Ÿคœ

Join the ultimate smart contract challenge powered by Tact, organized by TON Studio & Codeforces

๐Ÿ… Prize Pool โ€” $20,000 in Toncoin!

๐ŸŽฏ Challenge Tasks:
1. Simple Voting โ€” basic voting system.
2. Serial Voting โ€” multiple proposals via a master contract.
3. Scalable Voting โ€” support up to 4 billion voters.
4. Voting with Refunds โ€” refunds to voters.
5. Gas-Managed Voting โ€” fully optimized contracts.

๐Ÿ† Rewards:
- Top 128 participants share the prize pool and receive exclusive Soulbound Tokens (SBTs).
- All participants with valid solutions also receive a Participant SBT.
- SBTs include embedded on-chain developer reputation.

โญ๏ธ Additional Perks:
- Top participants will be invited for job interviews at TON Studio.

โฐ Duration: 7 days

๐Ÿ—“๏ธ Start Date: April 21, 12:00 (UTC+3)
๐Ÿ›‘ Deadline: April 28, 12:00 (UTC+3)

Registration:
๐Ÿ‘‰ Challenge Link (Codeforces)

Registration guide:
๐Ÿ‘‰ Notion link

Community & Support:
๐Ÿ‘‰ Telegram Challenge Chat

Good luck and may your contracts be efficient and bug-free! ๐Ÿš€๐Ÿ”ฅ
Please open Telegram to view this post
VIEW IN TELEGRAM
โšก8๐Ÿ”ฅ5๐Ÿ‘3๐Ÿคฉ3๐Ÿ—ฟ2๐ŸŒš1
This media is not supported in your browser
VIEW IN TELEGRAM
๐ŸŽ‰ Tact v1.6.6 is released!

The final patch release of this v1.6 series is upon us, and it brings a significant tooling improvement, amongst other things. Meet the official Tact formatter โ€” a new tool that ensures consistent code style across your Tact projects. It ships with Tact v1.6.6, and you can run it in your projects via npx tact-fmt or by invoking a format command in your editor. You'd need to install the Tact's language server or the VSCode extension for that โ€” see the tact-language-server repo for details.

The v1.6.* series of patches has been a journey of refinement and polish, setting the stage for what's coming next. As we close this chapter, we're already working hard on exciting new features for the future.

For now, let's explore the Tact v1.6.6 release:

๐Ÿงฐ Standard library additions and changes

โ€ข Added compute phase exit code constants reserved by the Tact compiler, such as TactExitCodeNullReferenceException (128) and many others.

โ€ข Added the SignedBundle struct and the corresponding verifySignature method.

โ€ข Added sendRawMessage and sendRawMessageReturnForwardFee functions as replacements for their deprecated counterparts.

โ€ข Optimized the sha256() function to about ~270 less gas used per call and added the keccak256() function that works with arbitrarily long slices.

๐Ÿ›  Bug fixes

There were a lot of those. Remember that last time we started fuzzing the compiler with LLMs to root out bugs? Well, we found many bugs that way and fixed even more โ€” many error messages got way more informative and useful. Some bug fixes allowed for seemingly unrelated UX improvements too.

One nice example of a second-order fix would be that the require() function now supports constants as its second parameter. You no longer need to provide identical string literals everywhere โ€” define a string constant somewhere and reuse it!

See the full release notes for a long list of bugs squished and error messages improved.

โœ๏ธ Documentation updates

โ€ข Added a "Learn Tact in Y minutes" page, which gives a whirlwind code-first tour of the Tact language.

โ€ข Any AI vibe coders out there? The docs now generate llms.txt, llms-full.txt and llms-small.txt files for you to use with your AIs. The small version is particularly interesting as it fits in the 200k context.

โ€ข The "gas best practices" page got updated with new recommendations, such as specialized math functions or the BasechainAddress struct and related functions.

โ€ข Lots of examples fixed, with more fixes to arrive as we speak.

๐Ÿงณ Formatter!

You can run it via npx tact-fmt in your projects โ€” it supports checking the formatting via the --check flag, applying fixes via the --write flag, and can check both individual files and directories of files.

Furthermore, it also ships with our official language server and VSCode extensions. See the tact-language-server's README.md for installation details.

๐Ÿ“œ See the full release notes for Tact v1.6.6
๐Ÿ“ฅ And upgrade Tact in your projects

In about 4 days from now, on April 21 at 12:00 (UTC+3), the Tact Smart Battle will begin! It is the ultimate smart contract challenge powered by Tact and organized by TON Studio & Codeforces. The prize pool is $20,000 in Toncoin, and the top 128 participants will receive exclusive Soulbound Tokens (SBTs). Moreover, the best battlers will be invited for job interviews at TON Studio.

And all participants with valid solutions would also receive a Participant SBT.

๐Ÿ‘‰ Register, if not already: Codeforces
โ€ข Here's the registration guide, just in case: Notion
โ€ข Hop in the community chat to ask questions, receive support and have fun learning and using Tact: @tact_smart_battle

๐Ÿฒ flint and tact
โ™จ๏ธ @tact_kitchen from the @ton_studio
๐Ÿ”ฅ15โค11๐Ÿ‘7๐ŸŽ‰5โšก2๐Ÿ•Š1
๐Ÿš€ Tact Smart Battle has officially started! ๐Ÿคœ

All tasks are now live.
The GitHub repo with setup, templates, and participation guide is here:

๐Ÿฑ tact-smart-battle

Dive in, build, and push your skills to the limit
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ”ฅ9๐Ÿ‘4โค1
For you all, JetBrains IDEs lovers: intelli-tact plugin release ๐Ÿ“ธ

๐Ÿฒ got IDEA?
โ™จ๏ธ @tact_kitchen from the @ton_studio
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ”ฅ18๐Ÿ‘15โค2
Forwarded from TOLK lang
๐Ÿซง Tolk v0.12: structures, generics, and methods

Finally! Or maybe not yet?

This update brings Tolk one step closer to its final form by introducing:

โœ… Notable changes in Tolk v0.12:

1. Structures
2. Generics
3. Methods
4. Stdlib with short naming
5. Fift output enhancements

PR on GitHub with detailed info.

โœ” Structures

Looks like TypeScript โ€” but works in TVM!


struct Point {
x: int;
y: int;
}

fun calcMaxCoord(p: Point) {
return p.x > p.y ? p.x : p.y;
}

// declared like a JS object
var p: Point = { x: 10, y: 20 };

// called like a JS object
calcMaxCoord({ x: 10, y: 20 });


Point a just named tensor โ€” identical to (int, int) at the TVM level.

Key features:
- Compiler guesses what you mean โ€” automatically:

fun loadData(): StoredInfo {
return {
counterValue: ...,
ownerAddress: ...,
}
}


- Works with shorthand syntax { x, y }
- Default values for fields are supported
- Nested objects are supported
- No overhead for single-field structs over a plain value
- Nullability, smart casts, union types, all language features โ€” everything works

โœ” Generics

They exist only at the type level (no runtime cost):

struct Nullable<T> {
item: T? = null;
}


The type system becomes powerful enough to express complex scenarios:

struct Ok<TResult> { result: TResult }
struct Err<TError> { err: TError }

type Response<R, E> = Ok<R> | Err<E>;

match (r) {
Ok => { r.result }
Err => { r.err }
}


โœ” Methods โ€” for any types

For structures:

fun Point.getX(self) {
return self.x
}

fun Point.create(x: int, y: int): Point {
return { x, y }
}


Or extend built-in types:

fun slice.load32(mutate self): int32 {
return self.loadInt(32);
}


Or โ€” tensors, unions, generics, even "any receiver". A method is just an extension function with predictable resolution rules.

โœ” stdlib โ€” with short methods naming


// before
someCell.cellHash();
someTuple.tupleSize();
someBuilder.getBuilderBitsCount();

// now
someCell.hash();
someTuple.size();
someBuilder.bitsCount();


Even more โ€” some global functions are now static methods:

// before
getMyAddress();
setContractData(c);
getLogicalTime();

// now
contract.getAddress();
contract.setData(c);
blockchain.logicalTime();


It looks pretty, and since IDE suggest only available methods after dot, it's extremely useful. For a full list of renamings, consider documentation.

โœ” A long-awaited bonus for Fift ninja

Look at the PR and enjoy how readable Fift assembler output is. Yes, it contains original .tolk lines as comments! And yes, it works perfectly.

๐ŸŒณ You now see how Tolk's features are aligning together towards automatic serialization, fully described by the type system. Cell references, constructor prefixes, message sending, and other use cases will be expressed with the features above.
๐Ÿ‘29๐Ÿ”ฅ13โคโ€๐Ÿ”ฅ8โค5๐Ÿฅฐ3
Forwarded from TOLK lang
๐Ÿซง Tolk v0.13 (Release candidate): Auto-packing to/from cells

We've finally reached the point we've been working toward for the past six months: automatic (de)serialization of anything into cells. From simple structs to unions, generics, and even nested references โ€” it just works.

The goal? To replace TL/B entirely with declarative, type-safe definitions. The compiler takes care of packing, loading, estimating, error handling, and more.

โœ… Notable changes in Tolk v0.13:

1. Auto-packing to/from cells/slices/builders
2. Type address
3. Lateinit variables, default parameters, and other minor features

PR on GitHub with detailed info.

โœ” Auto-serialization: short demo


struct Point {
x: int8;
y: int8;
}

var value: Point = { x: 10, y: 20 };

// makes a cell containing "0A14"
var c = value.toCell();
// back to { x: 10, y: 20 }
var p = Point.fromCell(c);


Key features:

* supports all types: unions, tensors, nullables, generics, atomics, ...
* allows to specify prefixes (particularly, opcodes)
* allows to manage cell references and when to load them
* lets you control error codes and other behavior
* unpacks data from a cell or a slice, mutate it or not
* packs data to a cell or a builder
* warns if data potentially exceeds 1023 bits
* more efficient than manual serialization
* will seamlessly integrate with message sending/receiving in Tolk v1.0

โœ” Pack or unpack โ€” anywhere

T.fromCell, T.fromSlice, slice.loadAny<T>, builder.storeAny<T>, and other methods give both high-level and low-level API.


// low-level is allowed:
beginCell()
.storeUint(1, 32) // mix manual
.storeAny(myStruct) // with auto


โœ” Serialization prefixes and opcodes


struct (0x7362d09c) TransferNotification {
queryId: uint64;
...
}


They are not limited to 32 bits โ€” you can describe any TL/B constructors:

struct (0b001) AssetSimple { ... }
struct (0b100) AssetBooking { ... }
type Asset = AssetSimple | AssetBooking | ...;


โœ” Typed cells


struct A {
    ref1: cell;         // untyped ref
    ref2: Cell<Inner>;  // typed ref
    ref3: Cell<int256>?; // maybe ref
}


Typed cells give you full control over when content is unpacked โ€” nothing is loaded unless you call .load() manually:

a.ref2.field // error
a.ref2.load().field // ok


// Yes, point.toCell() really gives you Cell<Point>

โœ” Granular options

Accurately adjust serialization behaviour (for example, error codes):


Point.fromSlice(s, {
assertEndAfterReading: false
})


โœ” Built-in type `address`


struct Wallet {
owner: address;
}


* integrated with auto-serialization, while still a slice under the hood
* comparable: if (senderAddress == wallet.owner)
* introspectable: isInternal(), getWorkchain(), etc.

โœ” Some other features

Described in detail in the full changelog and mirrored in the documentation.

๐ŸŒณ We're just a couple of steps away from Tolk v1.0 โ€” with message sending and handling, gas optimizations, and one secret feature. There is still a lot of work ahead, but today we're closer to the release than ever before.
โค9๐Ÿ”ฅ6๐Ÿฅฐ3๐Ÿ‘1
๐ŸŽ‰ Tact Language Server & VS Code Extension v0.8.0 are live!

Smarter code insight, TL-B support, fresh UI touches and a faster, quieter indexer โ€” all wrapped into v0.8.0 release!

๐Ÿš€ Headline features

Flexible toolchain picker โ€“ point the extension at any local Tact toolchain and switch them on the fly.
TL-B first-class citizen โ€“ syntax highlighting, completions, document symbols, go-to-references and inline highlighting inside Tact comments.
Next level navigation โ€“ search for functions by type, easily navigate with code lenses with go-to places where messages were sent and received
Fresh inspections โ€“ CanBeInline (with quickfix), DeprecatedSymbolUsage, MissedMembersInContract (with quickfix), NamingConvention, OptimalMathFunctions.

๐Ÿ“œ And that's not all ๐Ÿ˜Ž, check out our changelog to find all the improvements and fixes in the new release!
Also check out X/Twitter thread with announcement.

๐Ÿ“ฅ Upgrade now

Via VS Code marketplace
or Open VSX

Happy hacking! ๐Ÿ› ๏ธโœจ

๐Ÿฒ intelli-tact, you're next
โ™จ๏ธ @tact_kitchen from the @ton_studio
๐Ÿ”ฅ9๐Ÿ‘7โค6๐Ÿ˜4โšก1
Forwarded from TOLK lang
๐Ÿซง Tolk v0.99: universal message composition

This update introduces a high-level, type-safe way to compose and send messages to other contracts.

No more manual beginCell().storeUint(...).storeRef(...) boilerplate. Just describe the message in a literal, and let the compiler do the rest.

โœ… Notable changes in Tolk v0.99:

1. Universal createMessage โ€“ control body, extra currency, stateInit, and more
2. Universal createExternalLogMessage โ€” emit logs efficiently
3. Sharding โ€” calculate addresses "close to another contract"

PR on GitHub with detailed info.

โœ” createMessage: short demo


val reply = createMessage({
bounce: false,
value: ton("0.05"),
dest: senderAddress,
body: RequestedInfo { ... }
});
reply.send(SEND_MODE_REGULAR);


Key features:

1. Supports extra currencies
2. Supports stateInit with automatic address computation
3. Supports different workchains
4. Supports sharding (formerly splitDepth)
5. Integrated with auto-serialization of body
6. Automatically detects "body ref or not"

โœ” Union types as the foundation

Almost every field is a union โ€” flexible API while staying strictly typed:


// value: either tons, or tons + extra currencies
value: ton("1.5")
value: (ton("1.5"), extraDict)

// destination: various forms
dest: someAddress
dest: (workchain, hash)


โœ” Body: inline or ref?

Don't think about refs โ€” the compiler does:
- small structs are inlined
- large ones are wrapped in a ref
- detected at compile-time โ€” no runtime checks


// any serializable struct โ€” no toCell!
body: RequestedInfo { ... }


Don't need body? Just leave it out.

โœ” Deployment: a variant of "destination"


dest: {
    workchain: BASECHAIN,
    stateInit: { code, data },
}


The beauty of TON is that it doesn't have a dedicated deployment mechanism. You just send a message to some void โ€” and if this void doesn't exist, but you've attached a way to initialize it โ€” it's initialized immediately, and accepts your message.

โœ” Sharding!

Built-in features to calculate an address "in the shard of contract B."


dest: {
...
toShard: {
fixedPrefixLength: 8,
closeTo: ownerAddress,
}
}


Perfect for optimized sharded jettons. All the hashing, StateInit packing, and bit-level work is done automatically.

โš™๏ธ What about gas costs?

Even with all this flexibility, createMessage is not bloated. The compiler unfolds all union branches and constant conditions at compile time, producing flat, minimal code โ€” often more optimal than hand-crafted cell composition.

โ“ v0.99? So, what's next?

Yes, it's the last version before the final release. Tolk now covers the entire initial roadmap and is ready for real-world use. On top of that, we'll add several compiler optimizations and rewrite standard contracts from FunC to Tolk โ€” to demonstrate how exactly everything ties together.
๐Ÿ‘16โค7๐Ÿ”ฅ3โšก2๐Ÿฅฐ1๐Ÿ’ฏ1๐Ÿ‘จโ€๐Ÿ’ป1
Forwarded from TON Tech
๐Ÿ”จ Dev Tools Updates

Fresh updates are out for TON development tools! These releases bring enhanced reliability, a smoother developer experience, and stronger tooling performance. Make sure to upgrade and enjoy the latest improvements!

๐Ÿ“ @ton/blueprint v0.36.0 โ€“ 2025-06-16
๐Ÿ“ @ton/sandbox v0.33.0 โ€“ 2025-06-16
๐Ÿ“ @ton/test-utils v0.8.0 โ€“ 2025-06-16

๐Ÿ‘ฅ Noticeable changes
โ€ข New Jest matcher: toThrowExitCode for validating exitCode in tests.
โ€ข New Chai assertion: throwExitCode for similar exit code validation.
โ€ข ExitCode enum: Introduced for standardizing exit codes
โ€ข Added fetchConfig and setGlobalVersion utility functions
โ€ข Added blockchain.randomSeed property to update random seed in transactions or get methods
โ€ข Added support for updating blockchain config via loadConfig and updateConfig functions
โ€ข Blockchain.now not updating in blockchain.sendMessageIter is resolved
โ€ข Immutability fix: Blockchain.snapshot now returns copy, not reference
โ€ข Switched to Dirent.parentPath from deprecated .path
โ€ข Network Provider Enhancements. Added getConfig, getContractState and waitForLastTransaction methods
โ€ข Added utility getNormalizedExtMessageHash functions

โฌ‡ To update, run npm install @ton/blueprint@latest @ton/sandbox@latest @ton/test-utils@latest.

๐Ÿ’กTo learn more, visit GitHub pages: https://github.com/ton-org/blueprint, https://github.com/ton-org/sandbox and https://github.com/ton-org/test-utils.

๐Ÿ’ฌ Encountered issues? Please report them on GitHub at https://github.com/ton-org/blueprint/issues.

๐ŸŽ Your feedback and usage examples are crucial. Share your experiences to help us evolve the SDK!
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ‘4โค1
๐Ÿ’ฌ Infrastructure Time

What Infrastructure do you need to ship faster on TON?

Weโ€™re gathering feedback from the community about whatโ€™s missing, whatโ€™s needed, and what could unlock more building in the TON ecosystem! Fill out the short form:

https://forms.gle/9MMMXDxWha1R6qxN6

Please, take this survey seriously
: your input will shape TON Foundation infrastructure strategy priorities for this year.
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ‘6๐Ÿคฃ2๐Ÿ˜1
Forwarded from Tonkeeper News
This media is not supported in your browser
VIEW IN TELEGRAM
๐Ÿ’ปBuild with TONAPI โ€” YouTube Contest

Weโ€™re inviting developers to create technical YouTube content that demonstrates how TONAPI, our powerful SaaS tools for building dApps, integrating smart contracts, and crafting custom blockchain solutions, enables real-world use cases.

TONAPI service allows developers to build decentralized applications on top of the TON blockchain without having to deal with the complexity of the underlying technology. Over 80% of projects in the TON ecosystem use TONAPI.

Submissions can include:

- Live coding or walkthroughs
- Deep-dive tutorials
- Project demos
- Comparisons with other tooling

๐Ÿ† Top 5 videos will be selected. Total prize pool of 5,000 USDT (Bitrefill Gift Card).

Winning entries will also receive visibility on Tonkeeper social channels, TONAPI discount codes, potential dApp Browser integrations, and invitations to our exclusive mentorship program.

๐Ÿ‘‰ Submit by emailing contest@tonkeeper.com with subject โ€œTONAPI Contestโ€

๐Ÿ“† Deadline: July 18
Submission guidelines
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ‘15โค8๐Ÿ‘Ž1๐Ÿ”ฅ1๐Ÿ˜1
๐Ÿ“ฃ TON Developers โ€” we need your feedback!

Help us shape the future of TON development. Weโ€™ve prepared a detailed survey to understand your experience with:
๐Ÿง  Smart contract languages (Tact, Func, Tolk)
๐Ÿ“š Documentation and education
๐Ÿ›  SDKs, IDEs, and tools
๐Ÿค– Telegram Mini Apps
๐Ÿ’ฌ Developer support and pain points

๐Ÿ’Ž As a thank you, weโ€™ll issue an SBT (Soulbound Token) to your wallet as proof of contribution to the ecosystem.

๐Ÿ‘‰ Take the survey here:
https://docs.google.com/forms/d/e/1FAIpQLSfDm85Z7YxDw96nMeV9T-b2kmd2qAe8xt0_iag8ZqrgqKuCRw/viewform

๐Ÿ• Takes 5 minutes. Every voice matters.
Letโ€™s build a better TON together.
๐Ÿ”ฅ10โค6๐Ÿ˜2๐Ÿ‘1๐Ÿฅฐ1
Forwarded from Tonutils News
โš ๏ธ If you are still using tonutils-go version below 1.13, you should update ASAP, because after mainnet update GetAccount method becomes incompatible due to changes in blockchain account schema, so your service may stop working.

This method is also used during wallet interraction and sending transactions.
๐Ÿ‘3
Forwarded from gobicycle
https://github.com/gobicycle/bicycle/releases/tag/v0.10.1

Important update!
Changes will soon be applied to the Mainnet that will disrupt some services (including Bicycle). A new version v0.10.1 has been released to support these changes. To maintain the functionality of bicycle, it is recommended to update as soon as possible.
โค7๐Ÿ‘2
Forwarded from BotNews
Bot API 9.1

โ˜‘๏ธ Checklists
โ€ข Introduced support for native checklists.
โ€ข Out of the box, business bots can create and edit checklists.
โ€ข Bots can now receive checklists and detect progress via service messages.

๐ŸŽ Gifts, Stars and More
โ€ข Improved gifts with details on their last sale and transfer cooldown.
โ€ข Bots can now easily check their Telegram Star balance.
โ€ข Mini Apps can now hide the on-screen keyboard.
โ€ข Unlocked more poll options, allowing up to 12.

โ€ข And more, see the full changelog for details:

https://torg.tg-me.sbs/bots/api-changelog#july-3-2025
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ‘1๐Ÿ”ฅ1
Forwarded from TOLK lang
๐Ÿซง Tolk v1.0: lazy loading, partial updating, AST inlining โ€” and extremely low gas fees

This is happening today.

I managed not only to finish up the compiler, but also to migrate standard contracts from FunC to Tolk.

I covered every contract with gas metrics to check whether it's more efficient than FunC or not. I didn't believe my eyes. I double-checked, triple-checked, but nothing changed. The results are correct. And now I am ready to present them to you.

๐Ÿงช Benchmarks!

Every contract has several metrics. For example, "basic jetton โ€” mint".
FunC: 19278. Tolk: 11611.
Gas savings: -39.77%

|โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€“-
| 01 โ€” Jetton (mint, transfer, burn, discover)
| -39.77% | -30.32% | -33.66% | -26.75%
|โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€“-
| 02 โ€” NFT (deploy, transfer, onchain get)
| -43.79% | -37.47% | -44.28%
|โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€“-
| 03 โ€” Notcoin
| -35.72% | -27.98% | ...
|โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€“-
| 04 โ€” tgBTC
| -23.94% | -26.99% | ...
|โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€“-
| 05 โ€” Wallet v5
| -21.66% | -22.92% | ...
|โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€“-
| 06 โ€” Vesting
| -45.30% | -29.61% | ...
|โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€“-
| 07 โ€” Telegram gifts
| -54.81% | -39.39% | ...
|โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€“-

I have migrated 7 contracts โ€” preserving the original behavior and passing the same tests.

All benchmarks are open. No cheating. Just a smart compiler โ€” and a language designed to be optimized.

โ€” Even wallet?! But it's very low-level and tricky!

Even wallet. You just express your thoughts without any tricks โ€” and it works automatically.

โ€” But how? How is it possible to achieve such numbers?

Of course, I've put a lot of smartness into the compiler. A strong type system. Automatic inlining. Built-in serialization. The magic lazy keyword.

But first of all, Tolk is built for readability. These contracts aren't "just cleaner" than their FunC equivalents โ€” they're elegant. No magic. No low-level intrigues. Just clean, consistent logic โ€” whether it's a Jetton or a Wallet.

And gas savings? They are a consequence. I didn't micro-optimize. Each contract was rewritten in about a day โ€” just focusing on clarity. The core principle is simple: once you make it elegant, it automatically becomes efficient.


โœ… Notable changes in Tolk v1.0:

1. Lazy loading โ€” only read what you actually use
2. AST-based inlining โ€” zero-cost getters and methods
3. Peephole optimizations, TVM-11 โ€” smaller code, lower gas

PR on GitHub with detailed info.

Just take a look:

val st = lazy Storage.load();
// the compiler skips everything and loads only what you access
return st.publicKey;


That's it. Lazy loading and partial updates (calculating immutable slices for writing) โ€” one magic lazy keyword to rule them all.

โš™๏ธ The Release. What's inside

- JetBrains IDE plugin โ€” with completion, resolving, etc... โœ“ done
- VS Code Extension โ€” with suggestions, stdlib integration, etc... โœ“ done
- Language server โ€” for any LSP-compatible editor... โœ“ done
- FunC-to-Tolk converter โ€” migrate a project in 10 seconds... โœ“ done
- Documentation โ€” for smooth transition from FunC... โœ“ done

And the TOLK language itself โ€” exactly as I've visioned it... 7 months ago


๐Ÿ“… The essence of Numbers

At this moment, abstract yourself from the text. Take a look at the calendar.

Today is 07/07/25 (I mean 2+5, of course).

After the TON Gateway, throughout all November, I was laying out the roadmap towards Tolk v1.0. On December 1, I started working. It means, that the journey till now took exactly 7 months 7 days. If you scroll this channel to the top, you'll see an announcement... Of Tolk v0.7

๐Ÿช What's next?

I could have written about my plans โ€” for the language, TVM, ABI, TypeScript wrappers... but I won't.

Because today, instead of rushing into the future, maybe we can allow ourselves to look back.
To pause the endless race โ€” just for a moment.
To notice how many beautiful coincidences pass us by โ€” unnoticed in our constant hurry.

Just step outside.
Close your eyes.
Count to seven.
Feel it.

When you're ready โ€”
Let's Tolk
โค23๐Ÿ”ฅ9โคโ€๐Ÿ”ฅ4๐Ÿ‘2๐Ÿ˜ฑ1
๐Ÿ™ Getgems Public API is here (Beta)

The Getgems team is launching its first public API โ€” now available in beta and free to use during this phase!

With this API, you can:
- Mint NFT collections programmatically
- Upload media directly to the TON blockchain and Getgems.io
- Integrate NFT minting into bots, tools, or other products

๐Ÿ”’ Note: In this initial release, the API supports only NFTs created by the userโ€™s own wallet. Access to global TON NFT data may be introduced in future versions.

If you're building with NFTs on TON, this is a great time to start experimenting and shaping the future with your feedback.

๐Ÿ“˜ Docs & full instructions:
Getgems API - GitHub

๐Ÿ’ฌ Feedback, bugs, or ideas? Join Getgems' dev chat:
@GetgemsTech
Please open Telegram to view this post
VIEW IN TELEGRAM
โค10๐Ÿ˜8๐Ÿ”ฅ6๐Ÿ†4๐Ÿคฏ2๐Ÿ‘1๐Ÿ–•1
๐Ÿ›กHack THE TON โ€” the first wargame platform built on TON!

Ethereum has legendary wargames like Ethernaut and Damn Vulnerable DeFi โ€” tools that have onboarded thousands of developers into smart contract security.
TON had nothing like this. So the community built it.

๐ŸŽฎ How does it work?
Hack THE TON is a series of challenge levels, each represented by a smart contract written in Tact or Tolk.
Your goal is to hack the contract by triggering its hidden condition.
Use your knowledge of the TVM, analyze the logic, exploit vulnerabilities, and win!

๐Ÿ”ง Along the way, you'll learn to:

*๏ธโƒฃDeepen your understanding of the TVM and TON architecture
*๏ธโƒฃRead and understand Tact/Tolk contracts
*๏ธโƒฃAnalyze smart contract vulnerabilities in TON
*๏ธโƒฃWrite attack contracts and exploits

๐Ÿ† Completing levels contributes to your profile and reputation in the ecosystem.

๐Ÿ‘พ The first wave of levels is already live.
Join the core of TONโ€™s hacker community โ€” and prove what you're capable of.

๐Ÿ‘‰ Start now: https://www.hacktheton.com/
๐Ÿ’ฌ Join the chat: https://tg-me.sbs/hacktheton

๐Ÿšง New challenges are coming soon.
Please open Telegram to view this post
VIEW IN TELEGRAM
โค11๐Ÿ‘1
Forwarded from TON Core
๐ŸŽ‰ Unified TON Extension for VS Code is here!

Following the single convenient JetBrains IDE plugin, we are now introducing a unified extension for TON development for VS Code that supports all necessary languages and technologies.

This is the first contribution from Petr, who recently joined the TON Core team to make life sweeter for TON developers.

๐Ÿ“œ The extension provides advanced features for the main TON technologies: Tolk, FunC, TL-B, Fift Assembly, TASM, BoC, Blueprint! If you use the old extensions for Tolk or FunC, we recommend trying the new extension, as it offers better language support (we even support try/catch for FunC ๐Ÿ˜Ž).

๐Ÿ“ฅ Install now

- VS Code Marketplace
- Open VSX (if you use Cursor, Windsurf, etc.)

We thank the @tontech team for the FunC debugger which is now integrated into the extension, so you don't need to install a separate extension!

Happy hacking! ๐Ÿ› ๏ธโœจ
๐Ÿ‘22โค6๐Ÿ”ฅ3๐Ÿ‘1