polysol-js-core
v1.0.1
Published
Polyglot to Solidity Transpiler (JS/Java)
Downloads
217
Maintainers
Readme
PolySol-JS: A Modular Smart Contract Transpiler
Welcome to PolySol-JS, a transpiler designed to bridge the gap between modern JavaScript/TypeScript development and Smart Contract engineering.
Core Value Proposition
🚀 Simplicity
PolySol-JS allows developers to write smart contract logic using familiar JavaScript/TypeScript syntax. It lowers the barrier to entry for web developers looking to enter the Web3 space without needing to master Solidity's syntax immediately.
🧩 Modularity
At the heart of PolySol-JS is a standardized Intermediate Representation (IR). This JSON-based schema decouples the source language parser from the target code generator. This means:
- You can plug in different parsers (e.g., Python-to-IR).
- You can plug in different generators (e.g., IR-to-Vyper).
- The IR acts as a universal interface for smart contract logic.
📚 Educational
PolySol-JS is built with transparency in mind. By breaking down the transpilation process into distinct steps (Source -> IR -> Target), it serves as an educational tool for understanding how compilers and transpilers work under the hood.
High-Level Architecture
The following diagram illustrates the data flow within PolySol-JS:
graph TD
A[Source Code (JS/TS)] -->|Parser| B(Intermediate Representation (JSON));
B -->|Code Generator| C[Target Code (Solidity)];
subgraph "PolySol-JS Core"
B
end
style B fill:#f9f,stroke:#333,stroke-width:4px- Parser: Reads the input JavaScript/TypeScript file and converts it into the standardized JSON IR.
- Intermediate Representation (IR): A JSON object describing the contract's structure (state variables, functions, logic) in a language-agnostic way.
- Code Generator: Takes the JSON IR and synthesizes valid Solidity code.
Getting Started
Prerequisites
- Node.js (v14 or higher)
- npm or yarn
Installation
git clone https://github.com/your-username/polysol-js.git
cd polysol-js
npm installUsage (Coming Soon)
Currently, the project is in the setup phase. The core IR schema is available for inspection.
# Verify the setup
npm startProject Structure
src/ir/: Contains the JSON Schema definitions (IRSchema.json) and sample IRs.src/: Core source code for the transpiler (Parsers and Generators).dist/: Compiled output (if using TypeScript).
License
ISC
