Skip to main content

Bison

  • Team Name: Tuguldur Baigalmaa
  • Payment Address: 14AZk92CKjovm4tDvzE9XsjGz3HNeeV2tmnbYitAqyweWoRp (UDSC - Asset Hub), 14AZk92CKjovm4tDvzE9XsjGz3HNeeV2tmnbYitAqyweWoRp (DOT - Polkadot)
  • Level: 2

Project Overview :page_facing_up:

Overview

Tagline: A streamlined developer tool for Solidity smart contract deployment and testing on Polkadot.

Brief Description:
Bison is a developer tool designed to onboard Solidity developers into the Polkadot ecosystem by adapting the Foundry suite. The primary focus will be on:

  • Forge: A testing framework customized to support Solidity smart contracts on Polkadot, compiling to WASM and PolkaVM via Solang and Revive compilers.
  • Mint: A new tool using subxt to replace Cast, providing an interface for interacting with smart contracts, sending transactions, and querying chain data.

The tool will allow Solidity developers to continue using familiar workflows for building and testing smart contracts, while also handling deployment to Polkadot chains via pallet-contracts. Future iterations will expand towards deeper JAM protocol support, but this scope will focus on Polkadot integration.

Relation to Substrate/Polkadot/Kusama:
Bison leverages Polkadot’s Substrate framework for smart contract deployment via pallet-contracts. It integrates subxt for transaction handling and contract interaction, enabling developers to transition from Ethereum-based tooling to Polkadot seamlessly.

Why We Are Interested:
As one of the teams working on the development of the JAM protocol, our team saw a need for smart contract tooling for PolkaVM targets. Although the existing tooling, foundry can be used as-is for EVM compatible parachains that support the RPC endpoints, this is not the case for future smart contract development that target PolkaVM. Our team is passionate about building tools that ease the transition for Solidity developers to explore Polkadot’s multi-chain ecosystem. By leveraging Foundry and customizing it for Polkadot, we aim to make this process as smooth and familiar as possible for developers.

Project Details

Technology Stack:

  • Foundry: Core testing framework for Solidity (customized for building and deploying on Polkadot).
  • Solang: Solidity to WASM compiler.
  • Revive: Solidity to PolkaVM compiler.
  • subxt: Substrate interaction library for Mint (replacing Cast).
  • Rust: For subxt and Polkadot-specific tooling development.

Deliverables:

  1. Customized Foundry Toolchain:
    • Integrates Solang and Revive compilers for WASM and PolkaVM.
    • Deploy contracts using subxt via Polkadot's pallet-contracts.
  2. Mint Tool:
    • Replaces Cast with a subxt-powered tool for interacting with smart contracts.
  3. Documentation Website:
    • A website offering detailed documentation, examples, and guides for Solidity developers on Polkadot.

What the project is not:

  • The project does not include JAM protocol integration at this stage.
  • It will not include Anvil or Chisel customization in this phase.

Ecosystem Fit:

Target Audience:
Solidity developers, dApp developers, smart contract auditors, and Polkadot parachain developers looking for a Solidity-native toolchain for Polkadot.

Needs Addressed:
Bison will address the need for Ethereum developers to interact with Polkadot using familiar tools, facilitating easy migration and development on Polkadot chains.

Similar Projects:
While other projects focus on native smart contract development for Polkadot (like ink!), Bison focuses on Solidity developers and provides familiar tooling to interact with the Polkadot ecosystem.

Team

Team members

  • Name of team leader: Tuguldur Baigalmaa
  • Names of team members: Tuguldur Baigalmaa

Contact

  • Registered Address: None
  • Registered Legal Entity: None

Team's experience

I have been a web2 developer for 7 years, web3 Rust developer for over 3 years and have developed unique expertise in both Python and Rust. I have previously worked on a project to create a wrapper library for subxt and familiar with its use cases and functionality.

Team Code Repos

https://github.com/philoniare/pba-final-project

https://github.com/philoniare/subxtpy

Team LinkedIn Profiles (if available)

Development Roadmap :nut_and_bolt:

Overview

  • Total Estimated Duration: 3 months
  • Full-Time Equivalent (FTE): 2 FTE
  • Total Costs: 30,000 USD
  • DOT %: 50%

Milestone 1 — Forge Customization for Polkadot

  • Estimated duration: 1 month
  • FTE: 1.5
  • Costs: 10,000 USD
NumberDeliverableSpecification
0a.LicenseApache 2.0
0b.DocumentationProvide inline documentation and a tutorial on how to compile Solidity contracts using Solang or Revive for Polkadot.
0c.Testing and Testing GuideUnit tests for Forge’s functionality on Polkadot’s pallet-contracts.
0d.DockerA Dockerfile for easy setup and testing of the tool.
1.Forge CustomizationCustomize Forge to compile Solidity contracts to WASM or PolkaVM via Solang or Revive, and deploy using subxt to call the pallet-contracts.

Milestone 2 — Mint Tool (Replacing Cast)

  • Estimated duration: 1.5 months
  • FTE: 1.5
  • Costs: 16,000 USD
NumberDeliverableSpecification
0a.LicenseApache 2.0
0b.DocumentationUser guide on using Mint (Cast replacement) to interact with Polkadot contracts.
0c.Testing and Testing GuideTests for Mint’s ability to interact with Polkadot contracts using subxt.
1.Mint ToolDevelop the Mint tool using subxt to replace Cast, supporting contract interaction, transaction sending, and querying chain data.

Milestone 3 — Documentation Website

  • Estimated duration: 0.5 month
  • FTE: 1
  • Costs: 4,000 USD
NumberDeliverableSpecification
0a.LicenseApache 2.0
1.Documentation WebsiteBuild a website containing complete guides, tutorials, and example projects for Solidity developers on Polkadot.

Future Plans

After this phase, the tool will be extended to fully support the JAM protocol, including its in-core execution model. Our goal is to establish Bison as a standard Solidity toolkit for Polkadot and JAM.

Additional Information :heavy_plus_sign:

We learned about the Web3 Foundation Grants Program through Polkadot developer community discussions and are eager to contribute by building tools that simplify Solidity development for Polkadot chains.