Updated 103 days ago

Drew Package Manager

A CLI package manager that helps deploy complete dApps from a formula

  • Crypto / Web3
  • Infra / API
  • TON

Drew Package Manager for TON blockchain

Get existing dApp - contracts (powered by Blueprint) & dockerized UI, add Drew formula and allow anyone to seamlessly deploy a new dApp with fully deployed contract & UI integrated with it out of the box.

Drew is a great tools for reproducible deployments and test environments. Can be used, for example, as a tool to share infrastructure setup as part of a Hackathon or auditing contest where competitors might need to use some admin functions which can't be shared for one centralized deployment for security purposes. Using Drew help for faster onboarding of new developers into the Ton ecosystem and can boost developer productivity significantly

Install Drew:

npm i -g @drewpackages/cli

Deploy contracts & launch containers from a Github repo containing the formula:

drew deploy-ton DrewPackages/tonfaucet  --params "{\"name\": \"Test Jetton\", \"symbol\": \"TJT\", \"network\": \"testnet\", \"description\": \"Jetton deployed with Drew Ton\" }"

Works with any Github repo that contains well-formatted formula and contracts/docker setup, so you can try and create your own formula using this repo as an example. We combine the contracts and UI repos through git submodules, so both repos can be managed independently and the formula repo just integrates them together

Further development

Drew uses a modular design which means that deployment can be potentially extended to include additional steps such as:

  • integration with BotFather to automatically launch a Telegram bot
  • add new deployment framework, we are not limited by Blueprint, and support for new tools can be done quickly if there is enough demand
  • etc.

Also the tool can potentially be used for one of the supported deployment steps, for example - just to distribute a frontend, or to easily deploy contracts with just one command. This can be facilitated by using global configs for mnemonics, currently this feature is under development for Ton but soon to be available. For the backlog of potential improvements - check the public Github board