New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

create-ton

Package Overview
Dependencies
Maintainers
1
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

create-ton

Tool to quickly create TON projects

  • 0.0.3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.4K
increased by350%
Maintainers
1
Weekly downloads
 
Created
Source

TON project template (RFC)

Starter template for a new TON project - FunC contracts, unit tests, compilation and deployment scripts.

This repo is a work in progress and is subject to change

Layout

  • contracts - contains the source code of all the smart contracts of the project and their dependencies.
  • wrappers - contains the wrapper classes (implementing Contract from ton-core) for the contracts, including any [de]serialization primitives and compilation functions.
  • tests - tests for the contracts. Would typically use the wrappers.
  • scripts - contains scripts used by the project, mainly the deployment scripts.

We ask the community to provide any comments on this layout, the wanted/required changes, or even suggestions for entirely different project structures and/or tool concepts.

PRs are welcome!

Repo contents / tech stack

  1. Compiling FunC - https://github.com/ton-community/func-js
  2. Testing TON smart contracts - https://github.com/ton-community/sandbox/
  3. Deployment of contracts is supported with TON Connect 2, Tonhub wallet or via a direct ton:// deeplink

How to use

  • Clone this repo
  • Run yarn install

Building a contract

  1. Interactively
    1. Run yarn blueprint build
    2. Choose the contract you'd like to build
  2. Non-interactively
    1. Run yarn blueprint build <CONTRACT>
    2. example: yarn blueprint build pingpong

Deploying a contract

  1. Interactively
    1. Run yarn blueprint run
    2. Choose the contract you'd like to deploy
    3. Choose whether you're deploying on mainnet or testnet
    4. Choose how to deploy:
      1. With a TON Connect compatible wallet
      2. A ton:// deep link / QR code
      3. Tonhub wallet
    5. Deploy the contract
  2. Non-interactively
    1. Run yarn blueprint run <CONTRACT> --<NETWORK> --<DEPLOY_METHOD>
    2. example: yarn blueprint run pingpong --mainnet --tonconnect

Testing

  1. Run yarn test

Adding your own contract

  1. Run yarn blueprint create <CONTRACT>
  2. example: yarn blueprint create MyContract
  • Write code

    • FunC contracts are located in contracts/*.fc
      • Standalone root contracts are located in contracts/*.fc
      • Shared imports (when breaking code to multiple files) are in contracts/imports/*.fc
    • Tests in TypeScript are located in test/*.spec.ts
    • Wrapper classes for interacting with the contract are located in wrappers/*.ts
    • Any scripts (including deployers) are located in scripts/*.ts
  • Build

    • Builder configs are located in wrappers/*.compile.ts
    • In the root repo dir, run in terminal yarn blueprint build
    • Compilation errors will appear on screen, if applicable
    • Resulting build artifacts include:
      • build/*.compiled.json - the binary code cell of the compiled contract (for deployment). Saved in a hex format within a json file to support webapp imports
  • Test

    • In the root repo dir, run in terminal yarn test
    • Don't forget to build (or rebuild) before running tests
    • Tests are running inside Node.js by running TVM in web-assembly using sandbox
  • Deploy

    • Run yarn blueprint run <deployscript>
    • Contracts will be rebuilt on each execution
    • Follow the on-screen instructions of the deploy script

License

MIT

FAQs

Package last updated on 31 Jan 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc