Tuesday, September 8, 2026
Social icon element need JNews Essential plugin to be activated.
No Result
View All Result
Digital Currency Pulse
  • Home
  • Crypto/Coins
  • NFT
  • AI
  • Blockchain
  • Metaverse
  • Web3
  • Exchanges
  • DeFi
  • Scam Alert
  • Analysis
Crypto Marketcap
Digital Currency Pulse
  • Home
  • Crypto/Coins
  • NFT
  • AI
  • Blockchain
  • Metaverse
  • Web3
  • Exchanges
  • DeFi
  • Scam Alert
  • Analysis
No Result
View All Result
Digital Currency Pulse
No Result
View All Result

How to compile smart contracts against different EVM versions using Web3j

March 12, 2025
in Web3
Reading Time: 3 mins read
A A
0

[ad_1]

What’s web3j-solidity-gradle plugin?

Web3j-solidity-gradle-plugin is a useful instrument and extension of web3j library. You should use it for integrating Solidity sensible contract compilation into your Gradle undertaking. It simplifies the method of constructing and managing sensible contracts inside a Java or Android undertaking that makes use of Web3j. It presents varied configurations for compiling and makes use of web3j-sokt behind the scenes.

Web3j-Sokt is a Kotlin wrapper for the Solidity compiler (solc). Given a solidity file, it may well determine the perfect compiler model to make use of from the pragma assertion on the high of the file. It may then obtain, set up and invoke the compiler. Relatively than utilizing Dockerized variations of Solc, Sokt makes use of native builds and is appropriate with Mac, Home windows and Linux.

For extra info on web3j-sokt examine right here – https://github.com/hyperledger/web3j-sokt

Easy methods to use web3j-solidity-gradle plugin?

Step 1: Apply the Plugin

First, you want to apply the web3j-solidity-gradle plugin to your Gradle undertaking. You are able to do this by including the next strains to your construct.gradle file:

plugins {
id ‘org.web3j.solidity.gradle.plugin’ model ‘x.y.z’
}

Step 2: Configure the Plugin

After making use of the plugin, you may configure the compilation flags. Right here is an instance configuration:

solidity {
// Elective: Specify the Solidity compiler model
solcVersion = ‘v0.5.16’

// Elective: Configure the optimizer
outputComponents = [BIN, ABI, ASM_JSON]
optimizeRuns = 500
}

Step 3: Add Solidity Information

By default, all .sol recordsdata in $projectDir/src/foremost/solidity and $projectDir/src/check/solidity can be processed by the plugin. To specify and add completely different supply units, use the sourceSets DSL. You too can set your most popular output listing for compiled code.

sourceSets {
foremost {
solidity {
srcDir {
“my/customized/path/to/solidity”
}
output.resourcesDir = file(‘out/bin/compiledSol’)
}
}
}

Step 4: Construct Contracts

To compile your Solidity contracts, run the next command in your terminal:

./gradlew buildOr you may simply run the compileSolidity gradle activity 

./gradlew compileSolidity

This command triggers the compilation of Solidity contracts and generates binary and ABI recordsdata within the specified vacation spot listing.

Step 5: Combine with Web3j

After compiling your contracts, it’s possible you’ll need to generate Java wrappers to work together with them. You possibly can combine the web3j library to your undertaking and use the Web3j CLI or Web3j Gradle plugin to generate these wrappers. Right here’s a information on how one can add Web3j-gradle-plugin to your Gradle undertaking: https://docs.web3j.io/4.11.0/plugins/web3j_gradle_plugin/

Then, use the plugin to generate Java wrappers that correspond to your sensible contracts.

Step 6: Run and Take a look at

Lastly, use the generated Java wrappers in your Java or Android undertaking to deploy, work together with, and check your sensible contracts.

Introducing New Options within the Web3j-Solidity-Gradle Plugin

The Web3j Solidity Gradle plugin permits for outlining completely different supply units. Nonetheless, the Solidity compilation configuration is international. It can’t be set individually for every supply set.

Here is an instance of how supply units together with solidity flags are at present configured:

sourceSets {
foremost {
solidity {
srcDir {
“my/customized/path/to/solidity”
}
output.resourcesDir = file(‘out/bin/compiledSol’)
}
}
}

solidity {
outputComponents = [BIN, ABI, ASM_JSON]
optimizeRuns = 500
}

This strategy will be problematic for customers who need completely different configurations for compiling sensible contracts throughout supply units, as compilation settings are restricted to international values.

To deal with this, we’ve launched new options that allow customers configure parameters like Solidity model, EVM model, optimization settings, and optimization runs per supply set.

Instance with the brand new function:

sourceSets {
foremost {
solidity {
srcDir {
“my/customized/path/to/solidity”
}
output.resourcesDir = file(‘out/bin/compiledSol’)
setEvmVersion(‘ISTANBUL’)
setOptimize(true)
setOptimizeRuns(200)
setVersion(‘0.8.12’)
}
}
}

Builders who need to discover this new performance can observe the associated pull request: https://github.com/hyperledger/web3j-solidity-gradle-plugin/pull/69. These options can be accessible within the upcoming launch of the Web3j-Solidity-Gradle plugin v0.4.2.

Customers and builders can discover the undertaking code supply right here – https://github.com/hyperledger/web3j-solidity-gradle-plugin

The Web3j-Solidity-Gradle plugin gives a seamless improvement expertise from sensible contract coding to Java software integration. The brand new options let customers apply completely different compilation settings for sensible contracts throughout varied supply units, making it simpler to handle project-specific necessities successfully.

[ad_2]

Source link

Tags: compilecontractsEVMsmartVersionsWeb3j
Previous Post

Virtual Reality Technology for Brand Marketing

Next Post

New Compilation Options in Web3j-Solidity-Gradle-Plugin

Next Post
New Compilation Options in Web3j-Solidity-Gradle-Plugin

New Compilation Options in Web3j-Solidity-Gradle-Plugin

Pudgy Penguins Sells 1 Million Plush Toys in Less Than a Year: Expands Presence to Target

Pudgy Penguins Sells 1 Million Plush Toys in Less Than a Year: Expands Presence to Target

Introducing the Infinity CUBEs — Layer3

Introducing the Infinity CUBEs — Layer3

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Social icon element need JNews Essential plugin to be activated.

CATEGORIES

  • Analysis
  • Artificial Intelligence
  • Blockchain
  • Crypto/Coins
  • DeFi
  • Exchanges
  • Metaverse
  • NFT
  • Scam Alert
  • Web3
No Result
View All Result

SITEMAP

  • About us
  • Disclaimer
  • DMCA
  • Privacy Policy
  • Terms and Conditions
  • Cookie Privacy Policy
  • Contact us

Copyright © 2024 Digital Currency Pulse.
Digital Currency Pulse is not responsible for the content of external sites.

No Result
View All Result
  • Home
  • Crypto/Coins
  • NFT
  • AI
  • Blockchain
  • Metaverse
  • Web3
  • Exchanges
  • DeFi
  • Scam Alert
  • Analysis
Crypto Marketcap

Copyright © 2024 Digital Currency Pulse.
Digital Currency Pulse is not responsible for the content of external sites.