> Boilerplate starter template for a new TON project - FunC contracts, JS tests, compilation and deployment scripts
> Starter template for a new TON project - FunC contracts, JS tests, compilation and deployment scripts
## Overview
## Overview
This project is part of a set of 3 typical repositories needed for a blockchain dapp running on TON blockchain:
This project is part of a set of 3 typical repositories needed for a blockchain dapp running on TON blockchain:
* Smart contracts in FunC that are deployed on-chain
* Smart contracts in FunC that are deployed on-chain (this repo)
* Web frontend for interacting with the dapp from a web browser
* Web frontend for interacting with the dapp from a web browser
* Telegram bot for interacting with the dapp from inside Telegram messenger
* Telegram bot for interacting with the dapp from inside Telegram messenger
@ -26,7 +26,7 @@ Some of the opinionated choices made here include:
* Clear and documented code to help users audit the contracts sources and understand what they do
* Clear and documented code to help users audit the contracts sources and understand what they do
* Reliance on modern TypeScript to develop clean and typed scripts and tests in a modern framework
* Reliance on modern TypeScript to develop clean and typed scripts and tests in a modern framework
* Reliance on TypeScript for deployment instead of working with `fift` CLI tools - it's simply easier
* Reliance on TypeScript for deployment instead of working with `fift` CLI tools - it's simply easier
* Tests are executed in JavaScript with TVM ported to web-assembly - a great balance of speed and convenience
* Tests are executed in JavaScript with TVM in web-assembly - a great balance of speed and convenience
* Following of the TON contract [best practices](https://ton.org/docs/#/howto/smart-contract-guidelines) appearing in the official docs
* Following of the TON contract [best practices](https://ton.org/docs/#/howto/smart-contract-guidelines) appearing in the official docs
## Dependencies and requirements
## Dependencies and requirements
@ -34,11 +34,11 @@ Some of the opinionated choices made here include:
To setup your machine for development, please make sure you have the following:
To setup your machine for development, please make sure you have the following:
* A modern version of Node.js
* A modern version of Node.js
* Installation instructions can be found [here](https://nodejs.org/)
* Run in terminal `node -v` to verify your installation, the project was tested on `v17.3.0`
* Run in terminal `node -v` to verify your installation, the project was tested on `v17.3.0`
* Installation instructions can be found [here](https://nodejs.org/) or on Mac simply run `brew install node`
* The `func` CLI tool (FunC compiler)
* The `func` CLI tool (FunC compiler)
* Run in terminal `func -V` to verify your installation
* Installation instructions can be found [here](https://github.com/ton-defi-org/ton-binaries)
* Installation instructions can be found [here](https://github.com/ton-defi-org/ton-binaries)
* Run in terminal `func -V` to verify your installation
* A decent IDE with FunC and TypeScript support
* A decent IDE with FunC and TypeScript support
* We recommend using [Visual Studio Code](https://code.visualstudio.com/) with the [FunC plugin](https://marketplace.visualstudio.com/items?itemName=tonwhales.func-vscode) installed
* We recommend using [Visual Studio Code](https://code.visualstudio.com/) with the [FunC plugin](https://marketplace.visualstudio.com/items?itemName=tonwhales.func-vscode) installed