For some reason docs above was removed by Tolya Yanot soon after previous post without explanation: https://github.com/ton-community/ton-docs/commit/31fe076208aa8f7e22d8f6230b5faeadb387cf88
Official docs https://docs.tact-lang.org continues to work as expected.
Official docs https://docs.tact-lang.org continues to work as expected.
GitHub
delete Tact · ton-community/ton-docs@31fe076
User-friendly documentation for newcomers to the TON blockchain. - delete Tact · ton-community/ton-docs@31fe076
😢4🤯3🤬3😁1🤔1
We got explanation of removing Tact docs
This decision was made by Yanot itself and executed immediatelly by himself as a reaction to (possibly) previous post.
Reasoning was the same that was applied to all my work in TON before: "it is insecure", "it is unstable" and "shouldn't be trusted", "anyone would build an app an lose 1bn due a bug in compiler".
Such claims are proven to be meaningless.
FunC had (and still has) a lot of bugs and issues in it, this is what you usually expect when auditing a contract that aimed to have 1bn TLV. Just recently TF fixed some most bizzare issues that no one that would work with func would expect it. I expect more and more in the future. Basically FunC need a full rewrite with a careful review of each line to make it work. I think FunC development would stagnate soon since it is not possible to improve this language when you have such nasty issues. It doesn't sound "secure" and "stable" at all. And it is clearly shouldn't be trusted and all contracts must be tested with non-func code for correctness and it also requires manual reviews of a generated code, just in case.
TonWeb and TON Web Wallets had insane vulnerabilities that was ignored by TF and we spent several months and several point of contact with TF devs to bring this issue to them. Vulnerability was so awful that you just open a web console, put oneliner and it would bypass password protection of mnemonics. There is an another one, that still not fixed after more than a year that allows you to brute-force password on FPGA with insane speed.
During development of our libraries, we done just like what needed to do - we got the library and reviewed line by line all implementations. It was a year-long process that uncovered a lot of issues of Cell serialization and parsing. And yet TonWeb libary haven't fixed problems in years, but it has a title of "stable" and "secure" library.
This lead me to decide to resign from TON Community, the organization that i founded and that took almost a year to gather everyone together. Community became an authoritative place for promoting code that close-to-foundation.
This decision was made by Yanot itself and executed immediatelly by himself as a reaction to (possibly) previous post.
Reasoning was the same that was applied to all my work in TON before: "it is insecure", "it is unstable" and "shouldn't be trusted", "anyone would build an app an lose 1bn due a bug in compiler".
Such claims are proven to be meaningless.
FunC had (and still has) a lot of bugs and issues in it, this is what you usually expect when auditing a contract that aimed to have 1bn TLV. Just recently TF fixed some most bizzare issues that no one that would work with func would expect it. I expect more and more in the future. Basically FunC need a full rewrite with a careful review of each line to make it work. I think FunC development would stagnate soon since it is not possible to improve this language when you have such nasty issues. It doesn't sound "secure" and "stable" at all. And it is clearly shouldn't be trusted and all contracts must be tested with non-func code for correctness and it also requires manual reviews of a generated code, just in case.
TonWeb and TON Web Wallets had insane vulnerabilities that was ignored by TF and we spent several months and several point of contact with TF devs to bring this issue to them. Vulnerability was so awful that you just open a web console, put oneliner and it would bypass password protection of mnemonics. There is an another one, that still not fixed after more than a year that allows you to brute-force password on FPGA with insane speed.
During development of our libraries, we done just like what needed to do - we got the library and reviewed line by line all implementations. It was a year-long process that uncovered a lot of issues of Cell serialization and parsing. And yet TonWeb libary haven't fixed problems in years, but it has a title of "stable" and "secure" library.
This lead me to decide to resign from TON Community, the organization that i founded and that took almost a year to gather everyone together. Community became an authoritative place for promoting code that close-to-foundation.
👍21😭18😁16🥱3🤔2👌2🤨2❤1🔥1🤡1🖕1
Future of transaction signing in TON
Small overview about my path of solving safe signing UI for users and about future of Tact:
https://telegra.ph/Future-of-transaction-signing-on-TON-02-05
Small overview about my path of solving safe signing UI for users and about future of Tact:
https://telegra.ph/Future-of-transaction-signing-on-TON-02-05
Telegraph
Future of transaction signing on TON
One of the biggest challenges for me in TON is about how to sign the transaction i want to sign. For example, how do wallets know that i am sending a command to withdraw exactly 1024.013 TON from staking pool? How i can do this completely offline? Ok, for…
🤩10👍4🔥4🖕1💘1🦄1
FunC Bugs
I have made a small compilation of bugs that i found in the last year using FunC. It is far from stable and you still have to check everything in your contracts. Not just contract logic, but also if you hit some weird bug in compiler. That's why i recommended to upgrade to latest version and enable all new compilator directives.
https://telegra.ph/FunC-quirks-02-05
I have made a small compilation of bugs that i found in the last year using FunC. It is far from stable and you still have to check everything in your contracts. Not just contract logic, but also if you hit some weird bug in compiler. That's why i recommended to upgrade to latest version and enable all new compilator directives.
https://telegra.ph/FunC-quirks-02-05
Telegraph
FunC quirks
I was criticized for criticizing FunC stability, i even got two "security audits". I must admit, i haven't read them. But i know their results from friend from Ton Foundation. It sound something like "it crashes sometimes, but never emit incorrect code".…
🖕9👏7❤2👍1😨1
Tact Community forums
We just launched forums as alternative to chats for community collaboration. It is very early, but i (Steve) believe that forums are far superiour to chats for communities.
It is designed after Swift's and FoundationDB's one. Two communities that i have a great success participating in.
https://forums.tact-lang.org/
We just launched forums as alternative to chats for community collaboration. It is very early, but i (Steve) believe that forums are far superiour to chats for communities.
It is designed after Swift's and FoundationDB's one. Two communities that i have a great success participating in.
https://forums.tact-lang.org/
👍7👎2🔥1
Tact sources moved to the official repository and got a new NPM name.
Tact compilator sources now have a new home: the official GitHub organization.
Also, Tact's name on NPM is now under the umbrella organization: @tact-lang/compiler. Please, update your dependencies as fast as you can. It has only the latest version of a compiler, though.
This was part of a large reorganization of how the community works together on mission-critical libraries and tools for the TON ecosystem.
Please, move all your PRs and suggestions to a new repositories (sorry for moving it third time btw). Discussions and suggestions are as always welcome on https://forums.tact-lang.org and in group chats.
Tact compilator sources now have a new home: the official GitHub organization.
Also, Tact's name on NPM is now under the umbrella organization: @tact-lang/compiler. Please, update your dependencies as fast as you can. It has only the latest version of a compiler, though.
This was part of a large reorganization of how the community works together on mission-critical libraries and tools for the TON ecosystem.
Please, move all your PRs and suggestions to a new repositories (sorry for moving it third time btw). Discussions and suggestions are as always welcome on https://forums.tact-lang.org and in group chats.
GitHub
Tact Language
Next-generation language for TON blockchain. Tact Language has 53 repositories available. Follow their code on GitHub.
🔥9❤1❤🔥1
Tact 0.10.0
Large update that breaks important things:
- Change map syntax to use '<>' instead of '[]'
- Change the way contract deployment is implemented. Now contracts execute
- Typescript bindings are now working in browser and now only have a single dependency: 'ton-core'
https://github.com/tact-lang/tact/releases/tag/v0.10.0
Large update that breaks important things:
- Change map syntax to use '<>' instead of '[]'
- Change the way contract deployment is implemented. Now contracts execute
init
method internally instead of relying on the deployer.- Typescript bindings are now working in browser and now only have a single dependency: 'ton-core'
https://github.com/tact-lang/tact/releases/tag/v0.10.0
GitHub
Release Release 0.10.0 · tact-lang/tact
Changed
Tact contracts are now Argument-addressable meaning that they depend on init arguments and code hash only. Init function is now called when first valid message is received.
Refactoring of ...
Tact contracts are now Argument-addressable meaning that they depend on init arguments and code hash only. Init function is now called when first valid message is received.
Refactoring of ...
👍15
Tact 0.10.1 - Quality of life update
- Now errors show file and line number that would allow to click on them in VS Code' terminal
- Fixing missing typecheck in initOf
- Fixing execution order of struct constructor arguments
https://github.com/tact-lang/tact/releases/tag/v0.10.1
- Now errors show file and line number that would allow to click on them in VS Code' terminal
- Fixing missing typecheck in initOf
- Fixing execution order of struct constructor arguments
https://github.com/tact-lang/tact/releases/tag/v0.10.1
GitHub
Release Release 0.10.1 · tact-lang/tact
Added
Display line and column numbers in error messages to be able to navigate to the error in the editor
Fixed
Execution order of struct and message fields
initOf argument type checks
Display line and column numbers in error messages to be able to navigate to the error in the editor
Fixed
Execution order of struct and message fields
initOf argument type checks
🔥6👍4
I have acquired
👇Please, share in comments your pain points working with TON now
gram
npm name. Do you have an idea what is missing in TON Ecosystem and what needs to be built? 👇Please, share in comments your pain points working with TON now
😁4🤣2
Tact 1.0.0-rc.0
This is a pre-release version of Tact compiler. We have done some refactoring to make it work in browser and this is a last task for stable 1.0.0 release.
https://github.com/tact-lang/tact/releases/tag/v1.0.0-rc.0
This is a pre-release version of Tact compiler. We have done some refactoring to make it work in browser and this is a last task for stable 1.0.0 release.
https://github.com/tact-lang/tact/releases/tag/v1.0.0-rc.0
GitHub
Release Release 1.0.0-rc.0 · tact-lang/tact
Added
@ton-lang/compiler/node to invoke compiler from node similar how cli works
@ton-lang/compiler/browser to invoke compiler from browser
Removed
Removed jetton library from stdlib. It would b...
@ton-lang/compiler/node to invoke compiler from node similar how cli works
@ton-lang/compiler/browser to invoke compiler from browser
Removed
Removed jetton library from stdlib. It would b...
🔥10👍3
Tact last release candidate before 1.0.0
Tact compiler v1.0.0-rc.12 was just released and is aimed to became the very last build before full v1.0.0.
What changed since v1.0.0-rc.0:
- Ability to work in browser environments
- Stable programmatic api, including IDE (vs code) direct support for an upcoming plugin
- Add
- Add
- Add
https://github.com/tact-lang/tact/releases/tag/v1.0.0-rc.12
Tact compiler v1.0.0-rc.12 was just released and is aimed to became the very last build before full v1.0.0.
What changed since v1.0.0-rc.0:
- Ability to work in browser environments
- Stable programmatic api, including IDE (vs code) direct support for an upcoming plugin
- Add
address()
and cell()
compile-time functions to create address and cells from text representation- Add
interfaces
to ABI- Add
pow
compile-time function for exponent calculationhttps://github.com/tact-lang/tact/releases/tag/v1.0.0-rc.12
GitHub
Release Release 1.0.0-rc.12 · tact-lang/tact
Fixed
pow is now compile-only function
Changed
Use new FunC wasm bundle
pow is now compile-only function
Changed
Use new FunC wasm bundle
👍9
Tact Software Foundation
We are happy to announce the establishment of a Tact Software Foundation (TSF for short): a non-profit organization whose goal is to build developer tools for the TON ecosystem to accelerate TON adoption. Such tools include Tact Language, core libraries for most major languages, excellent education materials, and many more.
Four founders manage the foundation:
* Oleg Andreev (Tonkeeper and Ton Apps)
* Steve Korshakov (ex Ton Whales and Telegram)
* Tal Kol (Orbs)
* Kirill Emelyanenko (TON Foundation)
With help of advisors:
* Kirill Malev (First Stage Labs)
* Lyubov Shombina
Building for other developers is fun. Therefore, we want to create a solid developer-friendly organization where talented developers can do what they wish in the TON ecosystem without worrying about uninteresting things. Together we can collaborate faster and rapidly expand what is possible in TON by solving most of the long-standing roadblocks to developing new tools and services for TON.
Starting today, we welcome all developers of libraries for Ton for any major language to contact me (@steve_kite) to discuss collaboration options and funding your work under TSF.
In the coming days, we will introduce our new branding guidelines, start fundraising and release Tact v1.
We are happy to announce the establishment of a Tact Software Foundation (TSF for short): a non-profit organization whose goal is to build developer tools for the TON ecosystem to accelerate TON adoption. Such tools include Tact Language, core libraries for most major languages, excellent education materials, and many more.
Four founders manage the foundation:
* Oleg Andreev (Tonkeeper and Ton Apps)
* Steve Korshakov (ex Ton Whales and Telegram)
* Tal Kol (Orbs)
* Kirill Emelyanenko (TON Foundation)
With help of advisors:
* Kirill Malev (First Stage Labs)
* Lyubov Shombina
Building for other developers is fun. Therefore, we want to create a solid developer-friendly organization where talented developers can do what they wish in the TON ecosystem without worrying about uninteresting things. Together we can collaborate faster and rapidly expand what is possible in TON by solving most of the long-standing roadblocks to developing new tools and services for TON.
Starting today, we welcome all developers of libraries for Ton for any major language to contact me (@steve_kite) to discuss collaboration options and funding your work under TSF.
In the coming days, we will introduce our new branding guidelines, start fundraising and release Tact v1.
👍25🔥20❤4❤🔥1
Tact v1.0.0-rc.13
This update fixes Windows support
https://github.com/tact-lang/tact/releases/tag/v1.0.0-rc.13
This update fixes Windows support
https://github.com/tact-lang/tact/releases/tag/v1.0.0-rc.13
GitHub
Release Release 1.0.0-rc.13 · tact-lang/tact
Changed
Upgrade func to 0.4.2
Fixed
Windows paths support
Upgrade func to 0.4.2
Fixed
Windows paths support
🔥5👍4
⚡️Tact v1.0.0
First production version of Tact! While this compiler is now declared as production ready, do not forget to test your contracts and review generated func code before doing something expensive. Everything could have bugs, it could be Tact one, but it could be FunC or even TVM one.
Tomorrow we will update tools and project template to use production version.
From now on we are switching to semver in our versioning scheme and any breaking change in syntax would trigger a new major version. Minor part of a version is mostly adding new features to stdlib. Patch is a bug fixes without new features provided.
Release cycle would be longer, but we would release alpha/beta versions in the same pace as the before v1.
https://github.com/tact-lang/tact/releases/tag/v1.0.0
First production version of Tact! While this compiler is now declared as production ready, do not forget to test your contracts and review generated func code before doing something expensive. Everything could have bugs, it could be Tact one, but it could be FunC or even TVM one.
Tomorrow we will update tools and project template to use production version.
From now on we are switching to semver in our versioning scheme and any breaking change in syntax would trigger a new major version. Minor part of a version is mostly adding new features to stdlib. Patch is a bug fixes without new features provided.
Release cycle would be longer, but we would release alpha/beta versions in the same pace as the before v1.
https://github.com/tact-lang/tact/releases/tag/v1.0.0
GitHub
Release Release 1.0.0 · tact-lang/tact
Added
sender() function to get message sender address
sender() function to get message sender address
🔥9👍7
⚡️Tact Emulator v3.2.0
https://github.com/tact-lang/tact-emulator/releases/tag/v3.2.0
ton-emulator
is now @tact-lang/emulator
. It became browser friendly, uses reproducable build of WASM emulation binaries, exposes verbosity level for system and for contract and you now can name your contracts to make snapshot testing easier.https://github.com/tact-lang/tact-emulator/releases/tag/v3.2.0
GitHub
Release Release 3.2.0 · tact-lang/tact-emulator
Added
Named addresses for easier snapshot testing
Now you can use contract instance as an argument instead of it's address
Named addresses for easier snapshot testing
Now you can use contract instance as an argument instead of it's address
👍8❤3🔥3🤩1
⚡️Tact Deployer
Tact now has it's dedicated deployer that allows you to deploy and automatically verify contracts using a few lines of code. No more need to play around with links or store wallet keys in the scripts.
Thanks for building this tool to @mrbonezy!
We have updated our template project and added documentation page.
https://docs.tact-lang.org/language/guides/deploy
Tact now has it's dedicated deployer that allows you to deploy and automatically verify contracts using a few lines of code. No more need to play around with links or store wallet keys in the scripts.
Thanks for building this tool to @mrbonezy!
We have updated our template project and added documentation page.
https://docs.tact-lang.org/language/guides/deploy
docs.tact-lang.org
Tact Language Documentation
Language reference and guides for Tact
❤7🔥7👍5👏1
Forwarded from TON Contests
This media is not supported in your browser
VIEW IN TELEGRAM
TON Foundation is launching a 2-months TON Wallet Challenge with a $60,000 prize pool 💎
iOS, Android, and desktop developers are warmly welcome to participate.
The goal is to create TON Wallet application. The winning implementation may replace the current versions of TON Wallet. You will find mockups, useful resources, evaluation criteria, and all the technical requirements on GitHub.
Each submission has to be provided through the @toncontests_bot. Read more info on the website. The deadline is May, 22.
Good luck everyone and let the contest begin!🍀
iOS, Android, and desktop developers are warmly welcome to participate.
The goal is to create TON Wallet application. The winning implementation may replace the current versions of TON Wallet. You will find mockups, useful resources, evaluation criteria, and all the technical requirements on GitHub.
Each submission has to be provided through the @toncontests_bot. Read more info on the website. The deadline is May, 22.
Good luck everyone and let the contest begin!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
⚡️Code Coverage for TON Contracts [Alpha]
Introducing code coverage for your smart contracts in TON. Integrated directly with
Code coverage also shows gas usage by each line that could be useful for optimizations.
Tool is in alpha stage, but for the one who is struggling it could be useful. Currently operates on raw bocs and it's decompiled versions.
https://github.com/tact-lang/ton-coverage
Introducing code coverage for your smart contracts in TON. Integrated directly with
@tact-lang/coverage
. Just start it before executing your tests and then generate report (need to be performed in the same nodejs process).Code coverage also shows gas usage by each line that could be useful for optimizations.
Tool is in alpha stage, but for the one who is struggling it could be useful. Currently operates on raw bocs and it's decompiled versions.
https://github.com/tact-lang/ton-coverage
GitHub
GitHub - tact-lang/ton-coverage-old: TON Smart Contract code coverage
TON Smart Contract code coverage. Contribute to tact-lang/ton-coverage-old development by creating an account on GitHub.
👍7🔥7