ton-func
TypeScript icon, indicating that this package has built-in type declarations

0.1.1 • Public • Published

TON Func Contract Compiler

This package aims to be headless FunC compiler. It compiles you FunC source code straight to BOC.

The resulting BOC is encoded to base64 format. Also result has fift code of your contract.

How it works

Internally this package uses both FunC compiler and Fift interpreter combined to one lib and compiled to WASM.

Usage example

import {compileFunc} from 'ton-compiler';
import {Cell} from 'ton';


async function buildCodeCell() {
    let conf = {
        optLevel: 2,
        sources: {
            "stdlib.fc": "<stdlibCode>",
            "yourContract": "<contractCode>"
            // another files if needed
        }
    };

    let result = await funcCompile(conf);

    if (result.status === 'error') {
        // ...
        return;
    }

    let codeCell = Cell.fromBoc(Buffer.from(result.codeBoc, "base64"))[0];

    return codeCell;
}

Also you can get compiler version if you want notify us about some issues.

import {compilerVersion} from 'ton-compiler';

async function getCompilerVersion() {

    let version = await compilerVersion();

    return version;
}

WEB integration

The WASM library contains tools wich allow to work in web and nodejs both, so you can use it in browsers too. So you sould configure your webpack for resolve some nodejs requires.

// webpack.config.js
resolve: {
    fallback: {
        fs: false,
        path: false,
        crypto: false
    }
}

Also you should configure webpack for including *.wasm file at build.

Readme

Keywords

none

Package Sidebar

Install

npm i ton-func

Weekly Downloads

0

Version

0.1.1

License

MIT

Unpacked Size

2.68 MB

Total Files

9

Last publish

Collaborators

  • altox7