[B14] - Solforge 🏅

Solforge is a visual scripter for solidity, enabling distinguished engineers to build more complex systems on Ethereum, and onboarding less technical individuals into smart contracts, ultimately leading to more mainstream adoption of blockchains.

Challenges

#BUIDLathon 2023 Infrastructure + Scalability

Pool 15,000 USDC

We created the ability for a user to understand and build a smart contract easily with a visual graph, and we added a quick deploy button so they could deploy it to different EVM chains. We see our project being valuable to the Ethereum ecosystem because it helps less technical individuals start to build contracts in an easier way than writing Solidity. This in turn can make it easier to onboard new people into building and understanding smart contracts. It also helps more experienced engineers build very complex systems since the flow of data is easier to visualize, ultimately bringing more real-world use cases on chain. Finally, our product enables less technical people to better understand the contracts that they are interacting with. We believe that a visual scripter for Solidity enables distinguished engineers to build more complex systems on Ethereum and helps onboard less technical individuals into smart contracts, ultimately leading to more mainstream adoption of blockchain technology.

Connect the world with Chainlink

Pool 10,000 ETH

We see this project eventually being an extremely easy way to use Chainlink in smart contracts; unfortunately we didn't have enough time to get to actually adding Chainlink nodes in, but we planned on it.

Deploy your smart contract on Scroll

Pool 10,000 USDC

We created the ability for a user to understand and build a smart contract easily with a visual graph, and we added a quick deploy button so they could deploy it to Scroll. We see our project being valuable to the Scroll ecosystem because it helps less technical individuals start to build contracts in an easier way than writing Solidity. This in turn can make it easier to onboard new people into building and understanding smart contracts. It also helps more experienced engineers build very complex systems since the flow of data is easier to visualize, ultimately bringing more real-world use cases on chain.

Build on Base 🔵

Ranked 15,000 USDC

We created the ability for a user to understand and build a smart contract easily with a visual graph, and we added a quick deploy button so they could deploy it to Base. We see our project being valuable to the Base ecosystem because it helps less technical individuals start to build contracts in an easier way than writing Solidity. This in turn can make it easier to onboard new people into building and understanding smart contracts. It also helps more experienced engineers build very complex systems since the flow of data is easier to visualize, ultimately bringing more real-world use cases on chain.

Best Use of Polygon

Ranked 10,000 ETH

We see our project being a great use of Polygon because it automatically gives users the ability to deploy smart contracts onto Polygon after easily building it in our visual graph, ultimately attracting newer developers to immediately start deploying their contracts on Polygon.

Most Useful Web3 Tool

Ranked 2,500 ETH

We see our project being a valuable tool because it helps less technical individuals start to build contracts in an easier way than writing Solidity. This in turn can make it easier to onboard new people into building and understanding smart contracts. It also helps more experienced engineers build very complex systems since the flow of data is easier to visualize, ultimately bringing more real-world use cases on chain. We believe that a visual scripter for Solidity enables distinguished engineers to build more complex systems on Ethereum and helps onboard less technical individuals into smart contracts, ultimately leading to more mainstream adoption of blockchain technology.

Create a Developer Tool for the AttestationStation

Ranked 9,896 USDC

We see this project eventually being an extremely easy way to use AttestationStation in smart contracts; unfortunately we didn't have enough time to get to actually adding AttestationStation nodes in, but we planned on it; a developer could create new attestations, reference attestations, etc. all in a visual graph.

Create an AttestationStation Visualization

Pool 3,000 USDC

We see this project eventually being an extremely easy way to use AttestationStation in smart contracts; unfortunately we didn't have enough time to get to actually adding AttestationStation nodes in, but we planned on it; a developer could create new attestations, reference attestations, etc. all in a visual graph.

Chainlink Functions

Pool 10,000 ETH

We see this project eventually being an extremely easy way to use Chainlink in smart contracts; unfortunately we didn't have enough time to get to actually adding Chainlink nodes in, but we planned on it.

Create an AttestationStation App

Pool 11,573.6 USDC

We see this project eventually being an extremely easy way to use AttestationStation in smart contracts; unfortunately we didn't have enough time to get to actually adding AttestationStation nodes in, but we planned on it; a developer could create new attestations, reference attestations, etc. all in a visual graph.

Developer Tooling

Ranked 3,500 USDC

We created the ability for a user to understand and build a smart contract easily with a visual graph, and we added a quick deploy button so they could deploy it to different chains, including zkSync. We see our project being valuable to the zkSync ecosystem because it helps less technical individuals start to build contracts in an easier way than writing Solidity. This in turn can make it easier to onboard new people into building and understanding smart contracts. It also helps more experienced engineers build very complex systems since the flow of data is easier to visualize, ultimately bringing more real-world use cases on chain.

Project details

Vision
We believe that a visual scripter for Solidity enables distinguished engineers to build more complex systems on Ethereum and helps onboard less technical individuals into smart contracts, ultimately leading to more mainstream adoption of blockchain technology.

Overview
Solforge is a visual scripter for solidity that allows both engineers and non-engineers to more easily understand smart contracts. For engineers, this tool allows you to import any smart contract and visualize the data flow in a more easy to consume, no-code format. Engineers can also use this tool to build smart contracts from scratch and easily deploy them to chains like Ethereum, zkSync, Scroll, Polygon, and Base. For non-engineers, this tool abstracts away syntax from codebases to allow people like DeFi traders and product managers to better understand how money or data is being used in a smart contract system (i.e., DeFi AMM or money market).

Problems Solforge aims to solve
- Difficult for non-engineers to understand smart contracts
- Difficult to understand the data flow of complex systems in Solidity
- Can be daunting for devs to learn a new language

The future of Solforge
Unfortunately, we couldn't build everything we wanted to build. Some other things we would like to have added include:
- Easily integrate other third-party libraries, like Chainlink Oracles or Optimism's AttestationStation
- Quickly add upgradability and time-locks by changing settings
- Automatically display possible security vulnerabilities and recommendations to fix them
- Automatic gas optimization techniques
- Deploy & manage deployed contracts in one central place
- More robust system for nodes, including internal functions and modifiers
- Other languages

How we built it
We were inspired by Blueprints in Unreal Engine, and thought that it would be useful to have a similar tool for Solidity. The main flow of the project was this: Solidity -> AST -> React Flow -> AST -> Solidity. We spent a good amount of time just parsing and converting code into different formats.

Team

Cayman Jeffers: Cayman is a founder & full-stack engineer that's currently working in Web2 and branching out into Web3.

Paul Thomas: Paul is a founder & full-stack engineer focused on building Web3 products that can attain mainstream adoption.

Casper Yonel: Casper is a founder & ex. Wall Street banker, and software engineer focused on building DeFi applications.

Challenges we faced
- Converting a visual graph back into an AST, and then into source code is a very complex task that presented some challenges

- Converting an AST into a visual graph was also slightly challenging

- Deploying on base was somewhat difficult without Hardhat

- Deploying on zksync without a Hardhat library blocked us from deploying on zkSync


Bounty Information
We chose to give users the choice of which chain they would like to deploy on.

Polygon (Mumbai) Deployment - https://mumbai.polygonscan.com/address/0xa4489a202911557e54E987dBaDAE8115cDA15913
Base (Testnet) Deployment - https://goerli.basescan.org/address/0x71bC6dE53CFFDdb49693442B3cBa1645993C7e0A
Scroll (Testnet) Deployment - https://blockscout.scroll.io/address/0x77552BACCbA6E8De17885484351Ce3D31b4D1E92
zkSync (Testnet) Deployment - Couldn't get deployment working :(

We recommend Polygon, Base, Scroll, and zkSync because:
1. They are all compatible with the Ethereum Virtual Machine, allowing developers to use existing Ethereum tools and infrastructure to build on them.

2. They all offer high throughput and faster transaction times than Ethereum, making them more scalable and better suited to handle high volumes of transactions.

3. They all offer significantly lower transaction fees than Ethereum, making them more cost-effective to build and deploy applications on the platform.

4. They are interoperable with other blockchains, making it easy to integrate with other networks and build more complex and innovative applications.