国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

區(qū)塊鏈-java對接web3合約

這篇具有很好參考價值的文章主要介紹了區(qū)塊鏈-java對接web3合約。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

文章講了什么

本文章講述了如何在合約已經(jīng)部署并且能拿到合約abi文件的情況下,用java代碼去進(jìn)行調(diào)用合約

準(zhǔn)備工作有哪些

  1. 已經(jīng)部署好的合約地址
  2. 編譯合約后生成的abi文件?
    1. 通過hardhat-build去編譯
    2. 通過remix網(wǎng)站去編譯獲取(教程可自行百度查詢)

JAVA端需要做些什么?

  • 引入web3的jar包 版本用最新的就行了
                <dependency>
                    <groupId>org.web3j</groupId>
                    <artifactId>core</artifactId>
                    <version>${web3j.version}</version>
                </dependency>
  • 引入web3j-maven-plugin 將編譯后得到的abi文件轉(zhuǎn)換為java所用的對象文件
    <build>
            <plugins>
                <plugin>
                    <groupId>org.web3j</groupId>
                    <artifactId>web3j-maven-plugin</artifactId>
                    <version>4.8.7</version>
                    <configuration>
                        <packageName>bandex.exchange.entity</packageName>
                        <nativeJavaType>true</nativeJavaType>
                        <outputFormat>java</outputFormat>
                        <abiSourceFiles>
                            <directory>src/main/java/bandex/exchange</directory>
                            <includes>
                                <include>CowbitDex.json</include>
                            </includes>
                        </abiSourceFiles>
                        <outputDirectory>
                            <java>src/main/java</java>
                        </outputDirectory>
                    </configuration>
                </plugin>
            </plugins>
        </build>

    然后我們來講下上面的各個參數(shù)所對應(yīng)的含義

    • packageName 對應(yīng)的是生成文件后java文件存放的包名,就是類的包名

    • nativeJavaType 對應(yīng)的是本機(jī)類型是否是JAVA類型

    • outputFormat 對應(yīng)的是生成文件后的文件類型

    • abiSourceFiles

      • directory? 對應(yīng)的是生成java文件的所需abi的目錄

      • include? 對應(yīng)的abi的文件名

    • outputDirectory? 對應(yīng)的是java文件生成后存放的路徑

?以上做完后 就可以通過插件生成一個java文件了,這個文件就是跟合約對接的關(guān)鍵文件

如何對接合約

? ? ? ? 首先我們需要將生成的這個java類通過下面的方法進(jìn)行實例化

????????

// webUrl 參數(shù)是節(jié)點路徑 這個可以通過infura去創(chuàng)建賬號并生成自己的節(jié)點獲取路徑
// https://infura.io/  infura官網(wǎng) 如果不會的可以百度去查詢下教程
Web3j web3j = Web3j.build(new HttpService(webUrl));
// 創(chuàng)建證書 operatePrivateKey 操作合約者的私鑰 填寫了這個私鑰后 后面對合約的相關(guān)操作 產(chǎn)生的費(fèi)用都由這個地址來承擔(dān) 一般都是設(shè)置為合約的部署者
Credentials credentials = Credentials.create(operatePrivateKey);
// contractAddress 參數(shù)就是我們部署的合約地址 
CowbitDex cowbitDex = CowbitDex.load(contractAddress,web3j,credentials,new DefaultGasProvider());

實例完之后 就可以直接使用cowbitDex這個類進(jìn)行調(diào)用合約了,合約所定義的方法和事件都能在這個類里面能調(diào)用到

結(jié)語

? ? ? ? 以上就是java對接合約的詳細(xì)過程,如果有什么問題可以在文章下留言.文章來源地址http://www.zghlxwxcb.cn/news/detail-792426.html

到了這里,關(guān)于區(qū)塊鏈-java對接web3合約的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java Web3j nonce 獲取

    Web3j 獲取 nonce 的參考代碼 獲取一個 address nonce 值的時候,其中有一個參數(shù)為 DefaultBlockParameter,上面代碼中采用的是 DefaultBlockParameterName 類,它有 3 個值,分別為 EARLIEST ( \\\"earliest\\\" ) LATEST ( \\\"latest\\\" ) PENDING ( \\\"pending\\\" ) earliest:創(chuàng)世區(qū)塊 latest:最新區(qū)塊 (區(qū)塊鏈的頭號區(qū)塊) pending:

    2024年02月14日
    瀏覽(30)
  • java使用web3j,部署智能合約在測試鏈上,并調(diào)用(萬字詳細(xì)教程)

    java使用web3j,部署智能合約在測試鏈上,并調(diào)用(萬字詳細(xì)教程)

    最近在學(xué)區(qū)塊鏈相關(guān),想做點自己感興趣的。網(wǎng)上關(guān)于這塊部分的坑也比較多,最近也是問了很多行業(yè)從事者才慢慢填坑,因此記錄下來分享一下。 錢包 :metemask、 solidity編譯器 :remix 、 java ide :idea。 智能合約編寫的我選擇在remix上方便,而且部署的時候不需要自定義gasP

    2024年01月16日
    瀏覽(25)
  • java通過web3j獲取ETH交易明細(xì)

    ? ? 我們在項目里面如果想要得到用戶的ETH交易明細(xì)怎么做呢?有兩種方式: ? ?1、直接獲取ETH最新塊的交易明細(xì)。 ? ?2、通過塊獲取用戶的交易明細(xì)。 廢話不多說,直接貼代碼看了 ???????? 下面是項目的相關(guān)依賴:

    2024年02月05日
    瀏覽(22)
  • 【W(wǎng)EB3】如何使用Web3J庫開發(fā)應(yīng)用連接到以太坊區(qū)塊鏈網(wǎng)絡(luò)

    ? Web3j 是一個與以太坊智能合約交互并與以太坊節(jié)點集成的 Java 庫。它是高度模塊化、類型安全和反應(yīng)式的,專為以太坊上的 Java 和 Android 開發(fā)而構(gòu)建。Web3j 消除了編寫自定義集成代碼以連接到以太坊區(qū)塊鏈網(wǎng)絡(luò)的開銷。 通過 HTTP 和 IPC 實現(xiàn)完整的 Ethereum JSON-RPC客戶端 API,

    2024年02月02日
    瀏覽(34)
  • 區(qū)塊鏈-java對接web3合約

    本文章講述了如何在合約已經(jīng)部署并且能拿到合約abi文件的情況下,用java代碼去進(jìn)行調(diào)用合約 已經(jīng)部署好的合約地址 編譯合約后生成的abi文件? 通過hardhat-build去編譯 通過remix網(wǎng)站去編譯獲取(教程可自行百度查詢) 引入web3的jar包 版本用最新的就行了 引入web3j-maven-plugin 將編

    2024年01月16日
    瀏覽(99)
  • java web3j4.8.4版本的使用記錄

    java web3j4.8.4版本的使用記錄

    最近公司做NFT市場開發(fā),特記錄一下自己在使用web3j組件測試調(diào)用區(qū)塊鏈合約的時使用的方法和踩過的坑,便于自己以后查看。 主要用到工具有4個 idea,谷歌瀏覽,小狐貍錢包(metamask)插件,remix在線智能合約平臺 1.1、java項目 ?在pom.xml中添加引用倉庫地址,添加web3j的引入 1.2、

    2023年04月14日
    瀏覽(27)
  • web3j的基礎(chǔ)用法-6合約的監(jiān)聽器事件Event和過濾器EthFilter,以及NullPointed,調(diào)用失敗導(dǎo)致的bug解決

    web3j的基礎(chǔ)用法-6合約的監(jiān)聽器事件Event和過濾器EthFilter,以及NullPointed,調(diào)用失敗導(dǎo)致的bug解決

    本篇以Uniswap為例(https://uniswap.org/) 合約地址 :0x1f9840a85d5af5bf1d1762f925bdaddc4201f984 (Uni) 監(jiān)聽合約Tranfer事件 調(diào)用代碼 核心代碼實現(xiàn)在這里 之前實驗全量區(qū)塊,導(dǎo)致請求多次失敗,是由于個人RPC節(jié)點的請求和數(shù)據(jù)有限,為了測試出結(jié)果,從13763721L block到當(dāng)前,結(jié)果毫秒級返

    2024年02月11日
    瀏覽(29)
  • Web3j使用教程(2)

    Web3j使用教程(2)

    首先安裝solc(用于編譯智能合約)和web3j命令行工具(用于打包智能合約) npm install -g solc web3j安裝地址:?Releases · web3j/web3j · GitHub,選擇對應(yīng)操作系統(tǒng) 首先準(zhǔn)備一個智能合約 Owner.sol,建議先在remix上測試一下Remix - Ethereum IDE 先編譯? solcjs Owner.sol --bin --abi --optimize -o . 然后

    2023年04月24日
    瀏覽(30)
  • 使用Ganache,web3js和remix在個人區(qū)塊鏈上部署并調(diào)用合約

    使用Ganache,web3js和remix在個人區(qū)塊鏈上部署并調(diào)用合約

    Ganache是一個運(yùn)行在本地的個人區(qū)塊鏈,適用于以太坊的開發(fā)者。 首先我們需要下載Ganache web3js的中文文檔 remix英文版的網(wǎng)址 有以上的準(zhǔn)備之后我們就可以開始了 首先啟動Ganache 這就是Ganache的主頁面,下面有10個供我們使用的賬號,上面有他們的地址以及余額,我們暫時需要

    2024年01月19日
    瀏覽(49)
  • Web3j 5.0版本的簽名與驗簽

    2024年02月13日
    瀏覽(158)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包