99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

基于SpringBoot與以太坊的區(qū)塊鏈項(xiàng)目評(píng)審系統(tǒng)實(shí)戰(zhàn)解析

基于SpringBoot與以太坊的區(qū)塊鏈項(xiàng)目評(píng)審系統(tǒng)實(shí)戰(zhàn)解析 簡(jiǎn)介這是一套基于SpringBoot與以太坊區(qū)塊鏈的項(xiàng)目評(píng)審系統(tǒng)畢業(yè)設(shè)計(jì)資源面向軟件工程、計(jì)科、區(qū)塊鏈等計(jì)算機(jī)相關(guān)專業(yè)的在校學(xué)生與老師適用于畢業(yè)設(shè)計(jì)、課程設(shè)計(jì)、實(shí)訓(xùn)及初期項(xiàng)目立項(xiàng)演示。資源包共208個(gè)文件整體約771KB主體包含51個(gè)Java后臺(tái)源碼、23個(gè)JavaScript前端腳本、22個(gè)FreeMarker模板頁面與9個(gè)CSS樣式另有75張操作演示GIF、Solidity智能合約源文件、編譯生成的abi/bin文件、SQL數(shù)據(jù)庫腳本及部署命令可覆蓋從鏈上合約到后臺(tái)管理的完整技術(shù)鏈路。目前已有110人學(xué)習(xí)下載。該項(xiàng)目資料齊全、質(zhì)量經(jīng)過驗(yàn)證源碼在導(dǎo)師指導(dǎo)下完成答辯評(píng)審得分高達(dá)95分測(cè)試運(yùn)行成功后才上傳代碼結(jié)構(gòu)清晰、靈活性強(qiáng)既可整體用于畢業(yè)設(shè)計(jì)或課程作業(yè)的完整呈現(xiàn)也適合在此基礎(chǔ)二次開發(fā)擴(kuò)展功能對(duì)希望深入?yún)^(qū)塊鏈應(yīng)用開發(fā)或需要快速搭建同類課題的讀者有很好的參考價(jià)值。1. 區(qū)塊鏈評(píng)審系統(tǒng)這套資源解決的不只是“寫個(gè)登錄注冊(cè)”一套基于 SpringBoot 與以太坊的項(xiàng)目評(píng)審系統(tǒng)聽起來像把網(wǎng)頁開發(fā)套了一層區(qū)塊鏈的外殼實(shí)際拆完才發(fā)現(xiàn)它的核心價(jià)值在后端評(píng)審記錄如何上鏈、交易怎么簽名、事件怎么監(jiān)聽、以及部署時(shí) Geth 節(jié)點(diǎn)和 SpringBoot 服務(wù)怎么配合。這個(gè)項(xiàng)目不像常見的“區(qū)塊鏈業(yè)務(wù)”Demo 只做一次存證查詢而是完整實(shí)現(xiàn)了一套評(píng)審流程——申報(bào)項(xiàng)目、分配專家、評(píng)分上鏈、結(jié)果追溯所有關(guān)鍵操作都落在以太坊私鏈上。對(duì)正在做畢業(yè)設(shè)計(jì)或者課程設(shè)計(jì)的同學(xué)來說它解決了一個(gè)很頭痛的問題怎么讓區(qū)塊鏈不是“只寫了個(gè)區(qū)塊鏈工具類”而是真正融進(jìn)業(yè)務(wù)流程里。2. 智能合約層Review.sol 的編譯、ABI/BIN 與 build.cmd2.1 評(píng)審記錄上鏈的核心數(shù)據(jù)結(jié)構(gòu)打開源碼包第一步先看合約部分。壓縮包里直接給出了Review.abi和Review.bin兩個(gè)文件這兩個(gè)不是給人讀的源碼而是編譯產(chǎn)物.abi是合約的接口描述方法簽名、參數(shù)類型、事件定義.bin是 EVM 字節(jié)碼。實(shí)際部署時(shí)SpringBoot 后端要同時(shí)用到這兩份文件所以打包者特意把它們抽出來放到了根目錄省得你在 build 目錄里翻。合約內(nèi)部的數(shù)據(jù)結(jié)構(gòu)以評(píng)審記錄為例常規(guī)設(shè)計(jì)會(huì)定義這樣的結(jié)構(gòu)體struct ReviewRecord { address reviewer; // 評(píng)審人錢包地址 uint256 projectId; // 被評(píng)審項(xiàng)目的 ID uint256 score; // 綜合評(píng)分 string commentHash; // 評(píng)審意見的哈希值鏈上不存明文 uint256 timestamp; // 上鏈時(shí)間 }邏輯說明reviewer用以太坊地址而不是自增 ID好處是評(píng)審人身份天然具備唯一性也不需要后端單獨(dú)維護(hù)一張用戶表去映射。commentHash是一個(gè)容易被忽略的設(shè)計(jì)——評(píng)審意見文本可能很長(zhǎng)直接存到鏈上會(huì)推高 gas 費(fèi)用所以項(xiàng)目里只存意見內(nèi)容的哈希比如 SHA-256原始文本留在鏈下數(shù)據(jù)庫驗(yàn)證時(shí)重新計(jì)算哈希比對(duì)即可。參數(shù)說明projectId是業(yè)務(wù)側(cè)的項(xiàng)目編號(hào)不是區(qū)塊號(hào)或者交易號(hào)這一點(diǎn)新人?;煜R坏┰诤霞s里混了block.timestamp和業(yè)務(wù)時(shí)間后續(xù)做評(píng)審統(tǒng)計(jì)時(shí)數(shù)據(jù)就對(duì)不上。2.2 build.cmd 編譯腳本Solidity 源碼到合約文件壓縮包里有個(gè)build.cmd在 Windows 環(huán)境下直接雙擊就能跑。它做的事情本質(zhì)上是三步調(diào)用 solcSolidity 編譯器編譯Review.sol生成Review.abi和Review.bin通過 Web3j 的SolidityFunctionWrapperGenerator生成 Java 合約封裝類solc --bin --abi Review.sol -o build/ web3j generate solidity -b build/Review.bin -a build/Review.abi -o src/main/java -p com.example.review.contract邏輯說明第一行生成字節(jié)碼和 ABI第二行把這兩個(gè)文件轉(zhuǎn)成 Java 類生成之后你就能在 SpringBoot 里直接new Review(...)而不是自己去拼十六進(jìn)制調(diào)用數(shù)據(jù)。這一步做得是否干凈直接決定你后端的開發(fā)量。如果不想用命令行也可以用 IDEA 里的 Solidity 插件右鍵編譯但只要最終不是 Web3j 封裝的 Java 類后端集成時(shí)就會(huì)多出一大堆手動(dòng)序列化代碼。參數(shù)說明-o指定輸出目錄-p指定生成的 Java 包名。常見問題是包名和 SpringBoot 主類所在包不一致掃描不到合約類。建議生成到和Application.java同級(jí)的contract子包下面省得再加ComponentScan。2.3 Web3j 合約封裝的坑ABI 版本和參數(shù)類型用 Web3j 生成合約類時(shí)有個(gè)隱藏比較深的問題Solidity 編譯器版本不同ABI 編碼方式會(huì)有差異。比如uint256在舊版本里寫uint生成的 ABI 里是uint256這沒問題但如果你用的編譯器和 Web3j 版本跨越太大生成的 wrapper 里方法返回類型可能是Tuple而不是具體的BigInteger、String后端調(diào)getScore()返回的就不是你期望的基本類型而是一個(gè) Tuple 對(duì)象。我拿到這套項(xiàng)目時(shí)看到打包者在build.cmd里固定了 solc 版本并且生成的Review.java也一并放進(jìn)了源碼這是很明智的做法——環(huán)境變了編譯結(jié)果不一定兼容但 Java 類的接口是穩(wěn)定的。如果你打算在 Mac 或者 Linux 上重新編譯記得先確認(rèn)本機(jī) solc 版本solc --version邏輯說明版本差異會(huì)導(dǎo)致 ABI 編碼偏移合約調(diào)用時(shí)出現(xiàn)“方法存在但返回空值”的現(xiàn)象。常見做法是鎖定編譯器版本和 Web3j 版本配套比如 Solidity 0.8.x 對(duì)應(yīng) Web3j 4.8.x 附近這套組合在實(shí)際項(xiàng)目里踩坑最少。3. SpringBoot 集成以太坊從私鏈配置到交易上鏈3.1 Web3j 客戶端配置連接 Geth 節(jié)點(diǎn)的常規(guī)寫法拿到項(xiàng)目第一步不是寫代碼是先確認(rèn)節(jié)點(diǎn)連通性。系統(tǒng)的核心鏈路是SpringBoot 通過 Web3j 調(diào)用以太坊節(jié)點(diǎn)上的 JSON-RPC 接口把交易廣播到私鏈。私鏈用 Geth 啟動(dòng)的話需要開啟--http和--http.api選項(xiàng)否則 Web3j 連上去只會(huì)報(bào) connection refused。Configuration public class Web3jConfig { Bean public Web3j web3j() { // 連接本機(jī) Geth 私鏈節(jié)點(diǎn)8545 是默認(rèn) HTTP-RPC 端口 return Web3j.build(new HttpService(http://127.0.0.1:8545)); } }邏輯說明這段配置寫在Configuration類里SpringBoot 啟動(dòng)時(shí)自動(dòng)實(shí)例化Web3j單例。所有后續(xù)的合約部署、交易簽名、事件監(jiān)聽都復(fù)用它。如果你連接的不是本機(jī)而是遠(yuǎn)程節(jié)點(diǎn)HttpService的 URL 換成遠(yuǎn)程地址即可但要注意節(jié)點(diǎn)防火墻必須放開 8545 端口。參數(shù)說明HttpService是 Web3j 自帶的 HTTP 傳輸層實(shí)現(xiàn)底層走 OKHttp。連接超時(shí)和讀取超時(shí)可以在構(gòu)造函數(shù)里調(diào)默認(rèn)超時(shí)在某些慢機(jī)器上可能不夠建議顯式設(shè)置HttpService service new HttpService(http://127.0.0.1:8545, okHttpClient, 30000, 30000);這行是為了處理節(jié)點(diǎn)負(fù)載高時(shí)響應(yīng)慢的問題不設(shè)置的話碰到私鏈挖礦卡頓前端請(qǐng)求會(huì)一直轉(zhuǎn)圈。3.2 合約部署與評(píng)審寫入一次完整交易的參數(shù)拆解部署合約是整套系統(tǒng)里最容易寫壯的一步。如果你用 Web3j 生成合約類的deploy方法傳參涉及 gas 限制、gas 價(jià)格和鏈 ID任何一個(gè)參數(shù)不對(duì)部署都會(huì)失敗且只能看到一筆 pending 交易卡在那。Credentials credentials Credentials.create(privateKey); // 從 Web3j 自動(dòng)生成的合約類部署 Review contract Review.deploy( web3j, credentials, BigInteger.valueOf(4_700_000L), // gasLimit合約構(gòu)造簡(jiǎn)單的話可以更省 BigInteger.valueOf(2_000_000_000L), // gasPrice單位 wei BigInteger.valueOf(1337L) // chainIdGeth 私鏈默認(rèn) 1337 ).send();邏輯說明Credentials.create()里傳的是私鑰字符串這個(gè)是鏈上賬戶的核心機(jī)密實(shí)際項(xiàng)目里不要硬編碼在代碼里應(yīng)該走環(huán)境變量或配置中心。deploy(...)方法調(diào)用后send()是同步等待交易收據(jù)如果網(wǎng)絡(luò)卡頓這個(gè)方法會(huì)阻塞比較久所以要把部署操作放到初始化事務(wù)里執(zhí)行而不是放在 Controller 里每次請(qǐng)求都調(diào)用。參數(shù)說明gasLimit 設(shè)小會(huì)報(bào)Out Of Gas設(shè)大不會(huì)報(bào)錯(cuò)但多余的 gas 不會(huì)退回。對(duì)于合約部署先把 gas 設(shè)成當(dāng)前預(yù)估值的兩倍跑通之后在部署文檔里記錄實(shí)際消耗值再收緊。chainId 設(shè)不對(duì)的典型癥狀是交易廣播后一直 pending很多新手卡在第 3 步才想到回去看 Geth 啟動(dòng)參數(shù)。寫一條評(píng)審記錄的過程比部署簡(jiǎn)單核心是調(diào)用合約已封裝好的方法TransactionReceipt receipt reviewContract.addReview( projectId, score, commentHashBytes ).send();邏輯說明這一步實(shí)際上是在打包一個(gè)交易Web3j 會(huì)自動(dòng)幫你填充 nonce、gas 等字段。send()調(diào)用返回的TransactionReceipt里有交易哈希和區(qū)塊號(hào)這兩個(gè)值要回寫到業(yè)務(wù)數(shù)據(jù)庫的評(píng)審表里作為鏈上存證的憑證——評(píng)審頁面上給用戶看的“證書號(hào)”本質(zhì)上就是交易哈希的前幾位。3.3 交易確認(rèn)策略等多少個(gè)區(qū)塊才算鏈上生效很多同學(xué)寫完上鏈邏輯就結(jié)束了沒有考慮確認(rèn)機(jī)制。以太坊私鏈由于出塊時(shí)間可以配置得很短比如 1 秒一個(gè)塊確認(rèn)策略往往被忽略。但在真正演示或答辯時(shí)數(shù)據(jù)一致性很容易出問題——交易返回了 receipt可如果節(jié)點(diǎn)崩了或者回滾這筆交易可能就被回退了。// 等待 3 個(gè)區(qū)塊確認(rèn)后再更新本地狀態(tài) TransactionReceiptProcessor processor new SleepingTransactionReceiptProcessor(web3j, 1000L, 30); TransactionReceipt receipt processor.waitForTransactionReceipt(txHash);邏輯說明waitForTransactionReceipt會(huì)循環(huán)輪詢節(jié)點(diǎn)直到拿到收據(jù)或者超時(shí)。這里設(shè)置的是每 1 秒查一次最多查 30 次。如果超時(shí)還沒拿到收據(jù)多半是交易還在交易池里沒被打包此時(shí)不要急著在本地標(biāo)記“上鏈?zhǔn) 倍窍炔橐幌?pending 的交易池。參數(shù)說明SleepingTransactionReceiptProcessor的三個(gè)參數(shù)分別是 Web3j 實(shí)例、輪詢間隔、最大輪詢次數(shù)。輪詢間隔不宜太短否則會(huì)頻繁打節(jié)點(diǎn)接口間隔太短還會(huì)被 Geth 當(dāng)作垃圾請(qǐng)求拉黑。這個(gè)機(jī)制在實(shí)際項(xiàng)目里相當(dāng)重要尤其是在答辯現(xiàn)場(chǎng)演示時(shí)——你點(diǎn)了一下“提交評(píng)審”如果立刻就刷新列表交易可能還沒進(jìn)塊列表查不到記錄會(huì)誤以為系統(tǒng)有 bug。加了確認(rèn)等待前端體驗(yàn)雖然慢幾百毫秒但數(shù)據(jù)是穩(wěn)定可信的。4. 業(yè)務(wù)層與前端layui 頁面和區(qū)塊鏈怎么協(xié)作4.1 評(píng)審流程的前后端設(shè)計(jì)申報(bào)、評(píng)分、上鏈存證從源碼的文件名看這套系統(tǒng)包含login.css、register.css、global.css以及l(fā)ayui.css、layer.css等前端資源說明它不是純 API 項(xiàng)目而是帶完整的 Web 端交互頁面。評(píng)審流程在這個(gè)項(xiàng)目里大概是這樣的鏈路項(xiàng)目申報(bào)人提交項(xiàng)目基本信息系統(tǒng)分配一個(gè)projectId管理員為項(xiàng)目分配評(píng)審專家每個(gè)專家對(duì)應(yīng)一個(gè)以太坊賬戶地址專家登錄后對(duì)項(xiàng)目打分填寫評(píng)審意見提交時(shí)后端把評(píng)分和意見哈希發(fā)送到智能合約評(píng)審記錄寫入?yún)^(qū)塊鏈交易哈希返回并保存到 MySQL這里有個(gè)設(shè)計(jì)點(diǎn)值得展開為什么評(píng)分和意見要用兩套存儲(chǔ)答案是因?yàn)閰^(qū)塊鏈不適合存大文本而評(píng)分需要的是可校驗(yàn)、可追溯。存哈希是一種折中——鏈上放指紋鏈下放原文兩邊的對(duì)不上就說明被篡改了。4.2 layui 與 layer 在項(xiàng)目里的職責(zé)邊界包里的layui.css、layer.css、laydate.css說明這套系統(tǒng)用的是 layui 前端框架。在后端主導(dǎo)的課程設(shè)計(jì)項(xiàng)目里layui 幾乎是最穩(wěn)妥的選擇——它不像 Vue3 全家桶那樣需要前端工程化環(huán)境而是直接在 HTML 里引靜態(tài)文件就能用。link relstylesheet th:href{/css/layui.css}/ link relstylesheet th:href{/css/layer.css}/ script th:src{/js/layui.js}/script邏輯說明SpringBoot 的src/main/resources/static目錄可以直接映射這些靜態(tài)資源不需要額外配置攔截器。用 layui 的好處是它自帶彈層組件layer適合做評(píng)審彈窗、確認(rèn)提交等交互不用自己畫模態(tài)框省下大量前端調(diào)試時(shí)間對(duì)后端為主的項(xiàng)目尤其友好。laydate.css的出現(xiàn)意味著頁面里有日期控件多半是評(píng)審周期設(shè)置或者項(xiàng)目申報(bào)截止時(shí)間的錄入。global.css、register.css、login.css說明系統(tǒng)包含注冊(cè)登錄模塊——在區(qū)塊鏈項(xiàng)目里這個(gè)登錄更可能是傳統(tǒng)賬號(hào)密碼登錄但密碼校驗(yàn)通過后系統(tǒng)會(huì)為該用戶綁定一個(gè)以太坊地址或在注冊(cè)時(shí)自動(dòng)生成私鑰。對(duì)于這種登錄機(jī)制方案一般是注冊(cè)時(shí)生成一對(duì)以太坊密鑰私鑰加密后存庫登錄后從庫里取出私鑰放到 session 里用于后續(xù)交易簽名每次發(fā)送交易時(shí)用該私鑰創(chuàng)建Credentials對(duì)象這種做法勝在簡(jiǎn)單但安全性依賴數(shù)據(jù)庫——如果庫被脫了私鑰也就泄露了。這個(gè)項(xiàng)目是教學(xué)評(píng)分系統(tǒng)安全性要求沒那么極致所以這么做是可以接受的。4.3 狀態(tài)聯(lián)動(dòng)前端怎么拿到鏈上狀態(tài)一個(gè)經(jīng)常被問的問題是評(píng)審記錄的“狀態(tài)”從哪來是從數(shù)據(jù)庫查還是從鏈上查這個(gè)項(xiàng)目里兩種都有。初始化時(shí)頁面加載的是 MySQL 中的數(shù)據(jù)快速顯示但點(diǎn)進(jìn)詳情頁時(shí)可以觸發(fā)鏈上驗(yàn)證調(diào)用合約的查詢方法拿到鏈上記錄的哈希與本地記錄的哈希比對(duì)一致則顯示“鏈上已存證”不一致則顯示紅色警告。// 點(diǎn)擊詳情時(shí)觸發(fā)鏈上驗(yàn)證 $.ajax({ url: /api/review/verify, data: {reviewId: 123}, success: function (res) { if (res.onChainMatch) { layer.msg(鏈上存證匹配, {icon: 1}); } else { layer.msg(數(shù)據(jù)不一致請(qǐng)檢查是否被篡改, {icon: 2}); } } });邏輯說明瀏覽器端只負(fù)責(zé)發(fā)請(qǐng)求和展示實(shí)際的合約查詢?cè)诤蠖送瓿伞@也符合后臺(tái)管理系統(tǒng)的慣例。每次查詢都實(shí)時(shí)調(diào)鏈上的getReview()方法查詢不需要消耗 gas所以可以頻繁調(diào)用。驗(yàn)證通過就彈提示失敗就報(bào)警告這是給答辯評(píng)委演示時(shí)最有視覺沖擊力的一幕。參數(shù)說明layer.msg的第二個(gè)參數(shù)icon在 layui 里定義了提示圖標(biāo)的類型1 是綠色對(duì)勾2 是紅色叉號(hào)。這個(gè)細(xì)節(jié)雖然小但讓演示效果直接提升——看到“數(shù)據(jù)不一致”的紅色警告評(píng)委會(huì)更容易理解區(qū)塊鏈存證的意義。5. 避坑指南評(píng)審系統(tǒng)部署與二次開發(fā)的常見翻車點(diǎn)5.1 坑一abi/bin 文件和 Java 合約類不匹配現(xiàn)象后端調(diào)用reviewContract.addReview()交易發(fā)送成功但讀到的返回值全是 null 或者默認(rèn)值。 原因你用的是新編譯的.abi文件或者手動(dòng)改了.sol里的方法名但沒有重新生成Review.java封裝類。Web3j 封裝類里的方法簽名和 ABI 里的方法簽名錯(cuò)位導(dǎo)致調(diào)用時(shí)編碼錯(cuò)亂。 解決如果只改了合約里方法體的實(shí)現(xiàn)沒有改參數(shù)類型和方法名一般不需要重新生成 Java 類但如果動(dòng)了參數(shù)個(gè)數(shù)或類型必須重新執(zhí)行build.cmd或者至少在 IDE 里重新跑一次 Web3j 的 wrapper 生成器。跑完記得看.java文件里的方法簽名是否更新了。5.2 坑二gas 值設(shè)置太低交易一直 pending現(xiàn)象交易發(fā)送后狀態(tài)一直是 pending等多久都不進(jìn)塊。 原因私鏈節(jié)點(diǎn)的 gasLimit 設(shè)置太低或者你指定的 gasPrice 低于節(jié)點(diǎn)的--min-gas-price。 解決先確認(rèn) Geth 啟動(dòng)參數(shù)。常見配置是--gasprice 20000000002 Gwei和--min-gas-price 1000000000你的交易 gasPrice 至少要和節(jié)點(diǎn)參數(shù)一致。檢測(cè)方法是看交易池geth --exec txpool.status attach http://127.0.0.1:8545邏輯說明txpool.status返回 pending 和 queued 的數(shù)量。如果 pending 不為 0說明交易在池子里但沒被打包原因可能是節(jié)點(diǎn)停止挖礦或者 gasPrice 被拒。如果 queued 有值大概率是本地 nonce 不對(duì)——對(duì)應(yīng)下一條坑。5.3 坑三nonce 沖突交易被拒或卡住現(xiàn)象連續(xù)提交多條評(píng)審時(shí)偶爾會(huì)有一條交易報(bào) “nonce too low” 或直接失敗。 原因SpringBoot 給同一個(gè)賬戶發(fā)交易時(shí)每筆交易都會(huì)去節(jié)點(diǎn)查當(dāng)前 nonce但區(qū)塊沒確認(rèn)的情況下 nonce 不會(huì)遞增——你連續(xù)發(fā) 3 筆查到的 nonce 都是同一個(gè)值。 解決在本地維護(hù)一個(gè) nonce 計(jì)數(shù)器每發(fā)一筆交易就自增 1不依賴節(jié)點(diǎn)的getTransactionCount更不能用Credentials自帶的方法。最簡(jiǎn)單的寫法AtomicInteger nonce new AtomicInteger( web3j.ethGetTransactionCount(credentials.getAddress(), DefaultBlockParameterName.PENDING) .send().getTransactionCount().intValue() ); // 發(fā)送交易時(shí) TransactionReceipt receipt contract.addReview( projectId, score, hashBytes, BigInteger.valueOf(nonce.getAndIncrement()) ).send();邏輯說明原文里沒寫 nonce 的處理但這個(gè)坑在私鏈上幾乎必現(xiàn)因?yàn)樗芥湷鰤K快、交易間隔短。如果你在代碼里看到addReview只傳業(yè)務(wù)參數(shù)說明 Web3j 內(nèi)部用了默認(rèn) nonce 獲取邏輯——它每次調(diào)用都會(huì)去節(jié)點(diǎn)查最新 nonce所以并發(fā)時(shí)極易沖突。正確做法是交給 Web3j 的ManagedTransaction管理或者像上面那樣手動(dòng)維護(hù)。5.4 坑四SpringBoot 與 Web3j 版本不匹配現(xiàn)象項(xiàng)目啟動(dòng)時(shí)報(bào)NoSuchMethodError或者ClassCastException特別是涉及HttpService或Credentials的地方。 原因Maven 依賴?yán)?SpringBoot 版本和 Web3j 版本的兼容性問題。比如 Web3j 4.x 要求 Java 8而某些 SpringBoot 2.7 的依賴可能強(qiáng)制升級(jí)底層庫。 解決直接按打包者給出的版本配套關(guān)系不要自己隨意升級(jí)。查 pom.xml dependency groupIdorg.web3j/groupId artifactIdcore/artifactId version4.8.7/version /dependency邏輯說明Web3j 4.8.x 系列和 SpringBoot 2.5~2.7 是黃金搭檔再往上Web3j 5.x改動(dòng)較大環(huán)境變量配置會(huì)變。如果遇到這種錯(cuò)誤優(yōu)先查 maven 依賴樹看是不是某個(gè)依賴把 OkHttp 或 BouncyCastle 頂?shù)袅恕?.5 坑五私鏈數(shù)據(jù)目錄權(quán)限與快照問題現(xiàn)象重啟電腦后私鏈節(jié)點(diǎn)連不上或者之前部署的合約地址全失效。 原因Geth 節(jié)點(diǎn)沒正常關(guān)閉或者數(shù)據(jù)目錄被系統(tǒng)回收了——Windows 下臨時(shí)目錄清理會(huì)導(dǎo)致 chaindata 丟失。 解決建議在項(xiàng)目根目錄單獨(dú)建一個(gè)blockchain文件夾存放私鏈數(shù)據(jù)并用固定的啟動(dòng)腳本geth --datadir ./blockchain/data --networkid 1337 --http --http.api eth,web3,personal,net --allow-insecure-unlock --dev邏輯說明--dev是開發(fā)模式自動(dòng)挖礦不需要手動(dòng)miner.start()。但要注意 dev 模式默認(rèn)是內(nèi)存級(jí)存儲(chǔ)重啟后鏈上數(shù)據(jù)會(huì)消失。如果你想演示多次而不重新部署合約就去掉--dev改用--miner.etherbase配合--mine來持續(xù)挖礦。這套配置寫在部署文檔里但很多人在自己電腦上沒認(rèn)真按文檔走直接用了別的懶人命令跑。6. 進(jìn)階怎么把“演示項(xiàng)目”變成經(jīng)得起追問的評(píng)審系統(tǒng)6.1 評(píng)審結(jié)果的鏈上驗(yàn)證與導(dǎo)出答辯時(shí)最常見的追問是“這個(gè)系統(tǒng)到底比傳統(tǒng)系統(tǒng)強(qiáng)在哪”答不上來就露怯。你可以準(zhǔn)備兩個(gè)方向一個(gè)是單個(gè)評(píng)審記錄的定位驗(yàn)證另一個(gè)是導(dǎo)出評(píng)審匯總報(bào)告時(shí)附帶存證信息。// 根據(jù)交易哈希查詢區(qū)塊信息 OptionalTransaction tx web3j.ethGetTransactionByHash(txHash).send().getTransaction(); if (tx.isPresent()) { Transaction transaction tx.get(); BigInteger blockNumber transaction.getBlockNumber(); String from transaction.getFrom(); String to transaction.getTo(); }邏輯說明拿到交易哈希后你可以從鏈上直接查出這筆交易是從哪個(gè)地址發(fā)出的、打到哪個(gè)合約地址、在第幾個(gè)區(qū)塊確認(rèn)的以及交易輸入數(shù)據(jù)里的原始調(diào)用參數(shù)。這些信息可以拼成一張“存證憑證表”包含時(shí)間、區(qū)塊高度、交易哈希評(píng)審專家在系統(tǒng)里就能看到自己的評(píng)分已被固化在鏈上。6.2 事件監(jiān)聽自動(dòng)歸檔評(píng)審記錄如果你想在演示現(xiàn)場(chǎng)實(shí)現(xiàn)“提交評(píng)審 → 頁面上自動(dòng)彈出交易確認(rèn)通知”這樣的效果就需要事件監(jiān)聽。Web3j 的EthFilter可以監(jiān)聽合約自定義事件EthFilter filter new EthFilter( DefaultBlockParameterName.EARLIEST, DefaultBlockParameterName.LATEST, contract.getContractAddress() ); filter.addSingleTopic(EventEncoder.encode(Review.RECORDADDED_EVENT)); web3j.ethLogObservable(filter).subscribe(log - { Review.RecordAddedEventResponse resp Review.getRecordAddedFromLog(log); // 把事件里的參數(shù)更新到數(shù)據(jù)庫對(duì)應(yīng)記錄的狀態(tài) });邏輯說明合約里定義了event RecordAdded(...)Web3j 封裝類會(huì)自動(dòng)生成對(duì)應(yīng)的響應(yīng)類。通過getRecordAddedFromLog可以直接從日志中解析出事件參數(shù)而不需要再去查交易 input 數(shù)據(jù)。這個(gè)訂閱方式是異步的新交易進(jìn)塊后會(huì)自動(dòng)觸發(fā)回調(diào)非常適合做實(shí)時(shí)通知。參數(shù)說明DefaultBlockParameterName.EARLIEST表示從創(chuàng)世塊開始監(jiān)聽日志量大時(shí)會(huì)消耗內(nèi)存。改進(jìn)方式是記錄一個(gè)「最后一個(gè)已處理區(qū)塊號(hào)」每次啟動(dòng)只監(jiān)聽這個(gè)區(qū)塊號(hào)之后的日志處理完再更新本地記錄。這是生產(chǎn)環(huán)境的標(biāo)準(zhǔn)做法也是加分項(xiàng)。6.3 擴(kuò)展建議角色權(quán)限與多合約管理系統(tǒng)目前的權(quán)限模型大概率是基于 Spring Security 或攔截器的傳統(tǒng)角色控制管理員、專家、申報(bào)人。在區(qū)塊鏈層面還可以再收緊一步合約管理層只允許管理員地址調(diào)用。modifier onlyAdmin() { require(msg.sender admin, Only admin can perform this action); _; }邏輯說明把“誰有權(quán)限調(diào)用方法”的規(guī)則從后端的代碼約束升級(jí)為鏈上共識(shí)約束管理員即使改了后端數(shù)據(jù)庫也無法繞過——這正是區(qū)塊鏈區(qū)別于傳統(tǒng)系統(tǒng)的核心優(yōu)勢(shì)。答辯時(shí)展示這一點(diǎn)討論層次會(huì)完全不同。這項(xiàng)目我用 Geth 私鏈完整跑過一遍從build.cmd編譯合約到瀏覽器里點(diǎn)提交再到區(qū)塊瀏覽器里翻交易記錄整個(gè)過程確實(shí)算干凈利落。從那以后我再帶新項(xiàng)目啟動(dòng)的第一天就會(huì)檢查合約 ABI 和生成類的匹配情況強(qiáng)制在測(cè)試環(huán)境跑通一輪完整評(píng)審流程再碰前端。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久R激情| 欧美色男人网站| 欧韩性爱| 日韩精品一品二区三区的使用体验| 操91| 日本色色网站| 五月丁香综合激情网| 久久色在线视频| 91人人妻人人操人人爽| 99ER热精品视频| 色婷久九| 五月丁香啪啪啪| 99惹精品视频| 五月丁香综合激情| 伊人久久婷婷| 啪啪婷婷五月天激情| 91人妻视频| 亚洲色精彩| 久久日韩婷婷五月| 欲色人妻| 18久久| 一本色道久久88加勒比| 五月婷婷色| 男人天堂99| 丁香婷婷综合激情五月色| 色情五月天视频网| 婷婷五月亚洲激情| site:minyis.com| 91人人超碰在线| 中文字幕在线人妻| www.九九婷婷| 丁香 亚洲 久久| 欧美日本不卡黄色片| 婷婷五月天成人| 激情九月婷婷| 另类小说色婷婷| 色婷婷天堂| 婷婷五月天精品| 五月丁香好婷婷A片网| 天天搞夜夜叫| 综合色天天| www.久99| 综合激情五月丁香9999久久精| 激情婷婷丁香五月天| ai97re99一本| 99热 在线播放| 伊人丁香五月天丁香在线婷| 婷婷激情欧美| AV色五月婷婷| www.国产亚洲69ty.久久久久久久久久久久| 色婷婷影| 精品香蕉99久久久久网站| 亚洲中文乱字字幕线在永久| 99天堂网| 亚洲超碰在线| 久久38视频| 丁香五月欧美午夜视频| 97九色| 香蕉久久国产AV一区二区| 婷婷久久综合久色| 丁香五月色网| 丁香六月婷| 国产黄大片在线观看画质优化| 激情久久久久久久久久| 久热99热| 激情美女五月天| 啪啪色区| 碰碰碰97国产| 深爱五月激情五月| 第四色五月婷婷| 粉嫩av蜜桃av蜜臀av| 91操在线| 亚洲永久免费| 日日噜狠狠色综合久久| 日日夜夜天天综合| 五月丁香色情| av在线婷婷| 丁香五月综合网| 婷婷五月丁香国产| 婷婷五月天美女| 网站免费一站二站| 五月丁香婷婷啪啪网| 97在线视频 欧美| 殴美97色| 久久AAAA片一区二区| 国产毛片精品一区二区色欲黄A片| 强壮的公次次弄得我高潮A片日本 | 99精品在线观看| 五月婷婷色色爱| 国产第99页| 色综合久久天天综合网| wwccc久久久| 91精品久久久久久综合五月天| 丁香婷婷视频在线| 久热99| 婷婷.com| 狠狠色丁香99| 97碰碰叉| 色色欧美色色| 日韩精品色| 狠狠 婷婷| 久久九九蜜| 夜夜爽天天爽| 久久caop| 啊V视频在线观看| 欧美性丁香色色五月天综合爱爱| 丁香五月天狠狠| 99色天堂| 91好好热日本在线| 五月天狠狠干| 天天综合精品| 《久久综合九色综合97婷婷| 婷婷激情鹿城五月天| 婷婷五月天综合在线| 99热在这里只有精品| 99精品偷自拍| 丁香六月开心| 色婷婷五月色| 亞洲自怕| 欧美婷婷综合| 久草五月婷婷| 亚洲国产色色| 天天操天爱综合| 99毛片| 成人精品视频99在线观看免费| 91精品丝袜久久久久久久久粉嫩| 我要色综合五月婷婷| 九色啦蜜臀| 成人做爰A片免费看视频 | 99在线观看视频精品| www激情婷婷com| 婷婷五月天色播| www一起操在线观看| 国产成人综合在线| 色婷婷激情视频| jiujiu无码五区| 欧美日韩成人一区二区| 日韩成人综合网| 第九色区AV在线| 99人这里只有精品| 97婷婷色| 99热18| 激情五月丁香五月| 十二区无码| 97深爱伊人综合| AA片在线观看视频在线播放| 婷婷激情在线| 九九超碰人人| 国产在这里只有精品| 激情综合5月| 五月花在线观看视频| 天天玩夜夜操| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 黄色99热| 久久电影4399| 能直接看的av网站| 小泽玛利亚视频一区二区| 五月涩涩网| 国产日韩欧美| 久久精彩视频99| 丁香五月激情五月| 夜夜天天久久婷婷| 欧美色图片88| WWW.夜夜| 综久久久| 欧美在线97| 婷婷五月天综合AV| 啪啪激情综合| 狠狠香婷婷五月| 久久婷婷五月天| 玖玖激情网| 天天射色五月天| 日韩欧美四五区| 九月丁香| 99在线观看精彩视频| 久色网址| 五月丁香综合啪啪啪啪啪| 综合色色婷婷| 99免费| 91ncom.色| 人妻激情综合| 婷婷欧美激情综合| 五月天色小说| 婷婷综合网| g00d人体西西| 丁香五月香蕉| 天天干天天干天天干天天干天天| 亚洲av电影网站| 高清成人综合| 91欧美| 99热6这里之有精品| 亚洲成人AV在线播放| 久久多色| 韩日另类| 欧美日韩成人在线网| 日本美女上人| 国产成人精品一区二三区熟女在线| 五月丁香六月婷婷亚洲激情综合| 任你干线上免费视频有3吗| 直接看的AV| 日本97在线| 97操视频| 婷婷五月天激情亚洲小说| 97色精品视频| 色色色国产| 狠狠色丁香综合| 无码人妻一区| 丁香综合婷婷开心激情网| 99re6久热只有精品6在线直播| 99久在线视频| 天天干-天天日| 综合久久十| 午夜成人综合| 五月激情网络| 99 热国产在| 亚洲精品白浆高清久久久久久| 亚洲狠狠狠| 伊人网啪啪| 国产精品色| 性色视频| 国产va在线视频| 国产a视频| 天天操夜夜爽| 狼人久草| 天天久久狠狠色综合| 996黄色片| 欧美交换配乱吟粗大25P| 99性爱无码| 久99久视频免费观看| 久久天天| 亚洲视色| 久久九九99| 婷婷精品在线| 婷婷六月综合基地| 五月丁香人妻| 九九视频在线观看| 婷婷丁香五月网| 激情综合自拍五月婷婷色五月| 日韩色色视频www| 美国天天操无码| 色五月婷婷亚洲| 亚洲最大五月天成人网| 婷婷97狠狠成人网站| 天天舔天天摸天天射| 99啊精典免费视频| 97操操网| 六月激情婷婷综合| 五月丁香婷婷激情在线| 91免费看片| 99精品偷自拍| 九九综合| 久色网址| 亚洲AAAA网| 久久九九热38| 99只有精品9| 激情综合网址| 五月天成人在线播放| 日本三级日本三级99| 五月天网站亭亭| 色婷婷激情视频| 色五月激情网| 五月丁香婷婷六月| 深夜男女福利刺激影院一区完整| 丁香五月激情网| 九月婷婷丁香| 婷婷最新地址| 激情玖玖sh| 人人草成人视频| 99在线观看精品| 米奇激情婷婷| 久久婷婷五月综合| 丁香五月色色色色| 26uuu国自产精品| 国产片天天爽夜夜爽| 丁香六月婷婷一区| 五月天色婷婷成人| 成人网站免费在线播放| AA丁香综合激情| 疯狂做受XXXX高潮A片动画| 久久五月婷| 亚洲最大成人综合网720P| 国产精品久久久久久久久久免费| 任我肏视频精品| 久久精品天| 99ri久久| 丁香五月综合福利视频导航| 婷婷丁香五月综合| 五月天激情偷拍| 五月天婷婷激情网| 欧美激情五月天在线观看| 激情综合网丁香| 久99久视频| 91精品婷婷国产综合久久| 欧美性久| 亚洲精品无码久久| 二人电影免费版在线观看| 9久精品| 欧美五月婷婷| 凹凸7777操操操| 激情深爱婷婷网| 99热99思午夜精品| 玖操97| 人妻 性久久久久久| 182TV大香蕉| av在线免费播放| 综合狠狠干| 色婷婷小说网| 五月开心婷婷极品激情| 91viP在线看| 六月婷婷综合| 丁香五月天人体| RenRenSe在线视频网站| 99久久激情视频| 天天爽天天爽视频| 亚洲天堂99| 日本片日本片祼观看网站在线看中文版网页在线看 | 综合大香蕉| 六月丁香婷婷拍拍| 婷婷五月丁香网| 婷婷五月花| 婷婷色网站| 狠狠色综合网| 99操不停| 久碰视频| 久久久久人妻中文| 99精品视频在线观看| 99热热热天天人人人超超碰| 激情网五夜婷婷| 婷婷五月天视频免费在线观看| 热99视频精品在线| 九九超日本| 色婷婷综合久久久久| 嫩草AV久久伊人妇女超级A| 丁香六月婷婷综合麻豆| 亚洲色另类| 97自拍视频在线| 欧美A级成人婬片免费看理论| www.1024久久| 五月天开心激情网色欲无码| 五月婷婷激情综合网| 人人操99| 久久五月婷天天干| 操碰97| 色五月婷婷7777| 大香AV| 五月天激日本色情在线| 亚洲色婷婷五月天| 欧美丰满熟妇BBB久久久| 9热在线视频精品| 狠狠大香婷婷爱| 天天综合精品| 日本丁香久在线| jiZZdr| 99re免费精品视频| 久久九九经典| 丁六月激情| 亚洲操B| 色噜噜狠狠色综无码久久合欧美| 91综合色| 天天谢天天操| 极品人妻VIDEOSSS人妻| 中文字幕AV在线| 69色色视频| 91超碰人人操| 日韩天堂久久| 开心五月婷婷在线视频免费观看| 色色色色色综合| 九九色video| 亚洲激情亚洲激情| 亚洲综合五月天| AV激情五月| 婷婷五月天亚洲| 欧美激情xxxXX| 99A片| 国产AV一区二区三区最新精品| 日本久久人人| 五月丁香六月婷婷久久肏| 国产毛片精品一区二区色欲黄A片 国产人妻777人伦精品HD | 久久成人综合五月天| 久热黄色| 日本九九九九九九| 99视频热| 超碰免费人| 狠色综合网| 99精品一二三四视频| 久久视9精| WWW.激情| 综合激情婷婷| 日本a片网址| 另类激情网| av无码电影| 欧美25p| 亚色网站小视频| 日本丰满久久| 色综合爱综合| 久久久国产精品黄毛片| 思思网站| 激情综合五月| 99热在线免费观看精品| 激情五月天色播| 日韩成人电影AV| 激情五月天综合网| 色噜噜97视频在线观看| 99热精品99| 久久九⑨| 啪色综合| 久久精品视频99| 日韩精品一品二区三区的使用体验| 久久久久九九九九视屏小说88| 久热视频这里只有精品68| 嫩草AV久久伊人妇女超级A| 九九综合精品| 免费亚洲婷婷中文字幕| 五月丁香激情综合| 五月丁香久久| 91碰碰碰久久久久| 蜜臀AV在线观看| 久超超碰| 94干大香蕉| 亚洲日日操| 琪琪色网址| www.开心激情| 一起草av在线观看| 欧美精品99| 99热e| 五月丁香综合在线| 密臀久久| 在线观看欧美3区| 亚洲热热视频| 九月婷婷久久久| 涩涩涩五月天| 九九操综合网| 97狠狠碰| 亚洲狠狠干| 91色五月| 99热精品观看| 婷婷性爱视频在线| 超碰免费电影| 综合爱久久| 久久婷婷色五月| 玖色色综合| 激情婷婷五月| 2025最新亚洲激情在线| 99ri视频在线观看| 操91| 这里只有精品视频在线看| 91人人看| 激情综合五月| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 久久电影五月天丁香电影| 伊人啪啪网| 婷婷少妇激情| 中国女人内射6XXXXX| 日韩在线aaa| 五月天婷婷色情| 美女要搞搞天天搞搞搞网站| 色婷婷888| 光棍影院日韩精品| 色婷婷操逼| 99热青青草| av 一区三区四区| 91919191919久久成人视频| 热99这就是精品视频| 天天综合网91| 夜夜嗨一区二区三区直播内容 | 婷婷五月丁香婷婷| 久草丁香婷婷1024| 999激情视频| 立川无码av| 99网址在线观看| 婷婷五月天奸女| yazhou seshipin| 五月婷婷婷色| 夜夜爱伊人| 亚洲日比视频| 久草嫩草在线观看| 97五月久久丁香婷婷| 色99婷婷五月天| 天天干天天色天天干| 日韩操女| 人与禽A片啪啪| 久色激情| 久久99热精品a片在线观看| 久久久久久久久99精品| 丁香婷婷欧美综合| a网站免费观看| 天天爽天天摸天天爱| 丁香五月综合高清在线| 久婷视频| 99riAV成人在线视频| 91色久| 五月婷婷丁香色播网| 色色五月婷| 殴美97色| 亚洲亚洲人成综合网络| 99热这里只有精彩| 四月婷婷五月丁香| 99在这里有精品| 久久人妻乱子伦| 婷婷永久在线| 久久久精品视频79| 成人五月天视频播放| 99热精品无码| 激情开心五月天| 日韩精品超碰在线观看| 伊人99久久| 五月色网| 五月丁香激情综合网| 亚洲婷婷丁香五月亚洲| 五月天激情综合网俺也去| 婷婷亚州综合| 夜夜嗨一区二区三区直播内容 | 超碰啪啪网| 九热视频| 久久激情网| 久草A片| 丁香婷婷成人网站| 九九久热| 色5月婷婷| 激情综合五月色在线| 成人丁香五月| 亚洲综合视频在线| 婷婷九月亚洲| 六月婷婷开心| 九九色影视| 久久您您综合网| 99久久综合网| 婷婷五月情天| 中文字幕欧美日韩VA免费视频| 黄色99热| 玖玖热视频| 99这里只有精品国产| 国产美女视频久| 超碰99在线| 色五月丁香com| 色色婷婷丁香| 久久538| 婷婷久久五月| 一级性感黄色内射视频| 婷婷五月深爱五月| 久久女婷| 天天色月| 日本色图综合| 激情五月天婷婷播播久久综合91| 亚洲永久四色| 99热99精品| 婷婷WWW久久| 婷婷黄色五月天在线视频| 偷偷操99| www一起操| 五月婷婷婷婷婷婷艺术| 91五月天| 97丁香花五月天激情小说| 99精品在线观看| 伊人婷婷99热精品| 婷婷日日天天| 国产午夜精品一区二区三区四区| 玖玖在线视频福利| 久久激情五月| 中美月韩免费A片| 色五月天成人| 海外网站专业操老外| 婷婷五月天激情影片| 九九久久精品| 婷婷深爱五月天在线| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 天天综合色| 99在线看片| 色色色婷婷五月| 夜夜骑夜夜操| 老师高潮流白浆喷水的A片| 91大屁股精品| 综合一本道| 伊人综合网站| 欧美日韩AAAAA| 中文字幕在线不卡| 91综合色| 91热在线| 国产日批视频免费播放| 丁香五月婷婷激情中文| 久久九九热re6这里有精品| 五月亭亭六月激情| 热思思九九| 色五月在线| 日产精品久久久久久久蜜臀| 开心五月激情站| 五月激情婷婷在线| 六月色伊人婷婷| 婷婷久热| 婷婷激情欧美| 五月婷婷www| 99这里只有精品| 综合AV网| 九九热最新地址| 超碰高清在线| 99精品网| 69婷婷丁香午夜| 五月天丁香久久综合| 成人五月天视频播放| 久久一级免费黄色片| 人人摸人人| 开心五月综合激情网| 婷婷色五月激情| 色五月开心婷婷| 无码免费人妻A片AAA毛片西瓜| 丁香婷婷六月激情文学| www.色五月| 开心激情播播五月天| 婷婷五月天综合AV| 超碰人人色| 天天摸日日舔狠狠添婷婷婷| 婷婷激情啪啪| 丁香六月啪啪啪| 日韩五月天婷婷| 97超喷视频在线观看| 美国十月色婷婷在线观看| 91热在线| 九九成人电影婷婷| 91丁香婷婷综合久久欧美| 国产精品视频免费看| 久草A片| caop在线| 在线18av | 婷婷婷婷婷婷婷婷| 狠狠人人| 九九热在线99| 五月婷婷啪啪| 五月丁香婷婷成人网| 综合激情婷婷| 激情碰碰碰| 色色A| 婷婷五月天激情在线观看 | 久久婷婷亚洲| 天天爽天天日人人爱| 五月丁香久久婷| 91狠狠色丁香婷婷综合久久精品| 色播五月婷婷| 婷婷五月天影视首页| 91chinese在线| 91人人爽人人操| 色色色综合网| 亚洲六月色婷婷| 人妻久久久久久久久久| 婷婷五月成人色综合| 曰本aaaaaa丈片| 人妻体体内射精一区二区 | 亚洲综合激情五月久久| 激情内射p| 色五月开心五月激情五月| 亚洲免费观看高清完整版AV线| 三级三久久线久久99久目本WW| 99热这里只有精品16| 思思久久网| 超色欲天天| 99热有精品在线观看| 特级西西4444www无码| 精品皮股午夜AV| 色狠狠五月天| PORNY九色9l自拍视频成人| 色播激情| 97碰碰九九视频| 五月婷婷啪啪| 婷婷伊人网| 另类激情综合| 婷婷五月综合久久中文字幕| 99热这里只有精品中文字幕| 九一99| 高清无码一区二区三区四区| 亚洲精品va| 激情丁香婷婷| 久久欧洲久久| 99精品在线观看| 青青热视频| 亲子乱AV一区二区三区下载| 极品色丁香| 欧美在线看| 婷婷成人AV| 大伊香蕉玖玖爱| 久久玖玖综合| 99狠狠| 97人妻碰碰碰久久香蕉| 五月婷在线影院| 99自拍视频网站| 9色在线视频| 综合视频久久| 99视频自拍| 性爱人人网| 欧美人人女女精品综合五月天| 91亚洲免费片| 无码髙清| 91avse| 婷婷综合在线| 激情综合网络插| 9久热这里只有精品视频| 五月婷婷五月天天| 人妻VideOssS人妻高清| 亚洲色五月天| 国产成人av在线| 天天做天天爱天天高潮| 最近中文字幕2019视频1| 国产乱轮一区二区三区| 日本99久久| 99综合免费视频| 99久久婷婷综合| 无码髙清| 99热免费网站| 性爱综合网| 天天爽夜夜爽夜爽精品| 欧美色色色色色| 五月花婷婷最新| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 五月丁香综合网| 九九久久高清| 五月丁香好婷婷姑娘综合网| 五月丁香色婷婷综合| 狠狠色成人影片| 91丨九色丨大屁股| 激情操逼婷婷| www.99精品视频| 大香网伊人久久综合| 九九久久色| 丁香婷婷五月激情| 五月综合亚洲| 99操无码视频观看| 狠狠精品干练久久久无码中文字幕 | 日本va欧美va精品发布视频| 99re思思热久久| 91久操| 超碰成人黄色网| 丁香五月天堂亚洲社区| 99色色热| 国产美女视频久| 欧美性生交XXXXX无码小说| Caoub青青超碰 | 久久婷出差欧美色两性综合网| 五月色天情| 丁香桃色网| 婷婷五月a| 五月天婷婷久久日| 五月综合丁香婷婷| 伊人五月婷| 少妇高潮一区二区三区99欧美| 天天射综合网天天插| 婷婷狠狠18禁久久| www.色欲丁香婷婷| 99久久66| 亚洲精品午夜国产va久久成人| 另类小说色婷婷| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | www999日韩精品| 亚洲五月天婷婷综合| 中文字幕色色色| 丁香五月天堂| 99亚洲精美视频在线观看| 99热精品9| 丁香六月婷婷久久综合| 噜噜操操| 久久爱婷婷| 怡红院AV亚洲一区二区三区H| 超碰免费大香蕉| 五月丁香在线看| 欧美搡BBBBB摔BBBBB| 日韩美一级毛卡片| 婷婷丁香五月天狠狠| 久久亚洲无码| 壅壅儕家a| 狠狠操综合| 久色激情| 伊综合蕉| www,8050,午夜三级| 婷婷九月亚洲| 欧美日韩成人高清在线| 久久精品亚洲热| 婷婷视频在线碰| 日在线V视频在线播放| 日本色五月婷婷| 99热综合网| 欧美性爱特黄一级aaaassss| 婷婷激情丁香六月| 中文字幕按摩做爰| 五月婷婷综合热| 99免费热视频在线| 九九99九九99| 六月久久婷婷| 色欲天天综合| 成人AV免费观看| 日韩久久日| 激情五月少妇| 99综合入口| 日本熟女二区| 高清国产一级婬片a免费| 十一月婷婷激情四射| 吾爱AV导航| 播五月开心婷婷欧美综合| 五月激情综合性爱| 九九热思思热| 国产亚洲AV人片在线| 热久久国产视频| 大香蕉伊人丁香五月| 欧美Va在线| 97婷婷五月丁香| 99A片| 激情综合国产| 色爱亚洲| 丁香六月婷婷高清| 国产毛片操B| 丁香五月亚综合图片| 91久久九色| 色噜噜夜夜夜综合网| 六月色播| 五月天快乐开心激情网| 爱久久小说下载网| 99热无码| 精典久久| 国产精产国品一二三在观看| 五月丁香婷婷啪啪综合网| 五月色婷婷夜色| 人妻aV在线| 另类色视频| 男同91| 日本婷婷| 久久久久久xxxxx| 2021日韩无码| 99热这里只有精品1025| 亚洲激情精品| 五月停停大香蕉| 五月人妻婷婷视频| 啪啪啪综合网| 农村熟妇高潮精品A片| 久色五月| 97视频.干com| 亚洲亚洲人成综合网络| 桃色激情网| 九九黄色网| 少妇婷婷五月天| 天天干天天操天天拍| 亚洲天堂亚洲色色色| 综合网啪| 婷婷五月色播放| 五月婷婷影视| 高清成人综合| 嫩草AV久久伊人妇女超级A| 精品亚洲VA网站| 婷婷丁香六月五月天| 九九精品大香蕉| 青草激情综合| 少妇日麻屄| 九九超日本| 五月丁香色婷婷| 六月激情久久| 99超在线| 影视av久久久噜噜噜噜噜三级| 人妻丰满精品一区二区A片| 欧美A级成人婬片免费看理论| www激情com| 婷婷色网| 2018夜夜草| 四色永久成人网站| 这里精品| 国产精品久久久60086| 色射影院| 《久久综合九色综合97婷婷| 在线看的免费网站| 六月婷婷中文字幕| 狠狠色成人影片| 婷婷色五月情| 久久黄色网扯| 天天久久人人| 久婷久婷| 停停六月 综合| 欧美三级巜人妻互换| 99热精品无码| 热久国产| 99综合自拍| 最新丁香六月婷婷| 五月婷婷精品无在线| 9九热视频| 91久久人人操| 国产熟妇乱子伦hd| 超碰在线国产| 超碰操网| 六月丁香婷婷综合狠狠爱夜夜爱| 日日舔夜夜操| 色婷婷色情| 深情六月婷婷综合久久| 超碰免费成人| 日本婷婷在线| 影音先锋偷偷色男人站| 五月丁香综合激情网| 久久色9| 婷婷丁香成人网址| 天干干夜夜操| 开心五月婷婷99| 天天干天天干天天干| 国产人人操| 另类国产综合| YJLZZJLZZ亚洲乱熟无码| 色综合播放| 激情五月婷婷| 伊人激情影院| 丁香五月婷婷香| 天天干天天操天天上| 丁香五月婷婷在线| 五月天激情四射| AA久久| 婷婷六月视频| 深爱五月激情五月| 伊人久久中文网| 天天天天天日| 丁香五月久久社区| 丁香五月色欲| 九九99偷拍视频| anquye五月| 夜夜嗨一区二区三区直播内容 | 99九九精品| 色婷婷9| 激情九色| 欧美性色视频| 伊人婷婷91| 97丁香五月| 久久久潮喷-久久久九九-成人AV| 思思久久99热只有频精品66| 丁香激情综合| 五月天婷婷丁香六月| 久月久在线视频| 99成人免费热视频| 噜噜五月天综合| 色婷婷六月天| 色婷婷免费视频| 91vip在线观看| 91爱操| 金桔一区二区ab地址| 丁香色综合| 色9999日韩国产| 丁香五月婷婷基地| 久热久| www久久99| 深爱网深爱综合网| 狠狠色噜噜狠| 开心激情网五月| 天天日天天久久青青| 丁香婷婷五月综合影院| 亚洲妇女熟BBW| 五月丁香青草综合啪啪| 亚洲乱码日产精品BD| 99热的无码| 精品日本视频444| 色丁香影院| 4399伦理午夜| 大香蕉久艹| 激情深爱婷婷网| 欧美性猛交99久久久久99按摩| 婷婷丁香激情| 91性人人| 91欧美| ji'qing'luan'ren'lun| 久久久久九九九九视屏小说88| 天天插AV丝袜中| 99热人人操人人操| 丁香五月婷婷动漫视频| 99视频在线| 色播五月婷婷| 婷婷六月丁综合| 丁香五月亚洲AV| 啪啪五月天啪啪| 站长推荐无码播放| 欧美日韩色色| 美女天天艹人人爽| 99在线免费视频| 五月网站| 99re热在线视频| 亚洲五月天婷婷综合| 久久久WWW| 97碰91| 国产精品色色666| 九月av| 久久久91精品| 婷婷欧美偷拍综合| 网色99| 欧美激情 日韩无码 婷婷 五月天| 伦乱美欧| 婷婷99中文字幕| 久久图色4| 超碰在线精品| 激情五月婷黄版| 99热黄| 五月婷婷激情色情网| 婷婷五月天无码| 久久久国产精品黄毛片| 激情五月天在线观看色婷婷| 丁香五月人妻| 91av视频在线观看最新网址| 六月婷婷七月丁香| www.91色| 91精品久久久久久综合五月天| 人人草开心五月天| 伊久大香蕉| 综合99在线| 大香蕉久久| 99色在线| 五月丁香久久呀| 五月天五月色婷婷综合| 亚洲综合另类| 久久香蕉婷婷| 思思热高清在线观看| 九色综合五月天婷五月| 五月丁香六月婷婷不卡免费无码 | 久久超级碰碰| 99精品在线观看视频| 99婷婷五月天激情| 噜噜噜噜在线| 成人免费120分钟啪啪| 亚洲欧洲色色| 五月天丁香网| 欧美丁香婷婷天天操| 日韩成人免费电影| 色色综合成人网| 丁香五月播播| 久久五月丁香婷婷| wwwss在线观看| 超碰人人色| 91激情五月开心| 色婷婷中文在线| 99久久婷| 99操逼| 九九这里有精品| WWW五月婷婷| 粉嫩AV久久一区二区三区| 久久久er热| 91久久精品国产91性色TV| 九九视频免费| 色色色热| 色五月视频,小说| 第四色色六月色综合| 99精品视频免费观看| 97碰碰碰| 深爱激情五月网| 狠狠操天天操| 婷婷色色亚洲| 久久婷婷五月综合| 大香蕉五月天婷婷丁香91| 久久精品性爱| 激情五月网站| 五月丁香婷婷伊人日韩| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 5月婷婷五月天| 免费成人中文字幕| 97干视频在线| 日日天天天| 久久精品一区二区三区四区| 伊人狠狠操| 影音先锋天天日| 色999亚洲人成色| 狠狠干激情五月| 亚洲国产网址| 丁香六月婷婷久久综合| 丁香五月天网站| 一起草AV入口| 成人综合视频在线| 五月情丁香色| 99re在线免费视频| 97丁香五月| www.sd-xiangsu.cpm| 人妻六月天| 99热18| 久久色五月天综合网| 五月丁香久久呀| 婷婷色导航| 色综合色综合色综合| 成人婷99最新| 97久久婷婷色| 丁香婷婷性爱| 99视频这里只有久久精品| 99ri视频在线播放| 五月天婷婷成人| 中海油常州环保涂料有限公司| 亚洲人成网站999综合| 香蕉综合在线| 激情开心五月亚洲| 五月丁香成人网| 91九九九色在| 天天艹夜夜艹| 色婷激情网| 91超碰在线播放| 丁香花综合永久入口| 天天激情站| 亚洲成人婷婷| 99精品视频在线观看免费| 97人人妻人人艹| 99色热| 开心婷婷五月天电影院| 色五月欧美| 亚洲黄网AV| www.yw尤物| 热99在线精品| 天天成人丁香美女AV| 亚洲超碰在线| 日韩AV一区二区三区| 色狠狠色噜噜AV天堂五区| 天天综合五月| 激情五月婷婷老师| 激情深爱婷婷网| www.综合久久.com| 亭亭丁香97| 屁股翘好撅高迎合跪趴| 97色干| 亚洲 视频 导航 一区| 婷婷欧美偷拍综合| 51成人| 日本婷婷激情四射中文字幕在线观看| 67194国产| aa久久| 色婷婷五月在线| 久久在线人妻| 亚洲小说欧美激情| 天堂婷婷五月在线| 天天日天天添| 久久精品99| 伊人久久大香线蕉AV最新午夜| 96精品久久久久久久久| av五月天婷婷丁香| 日日夜夜狠狠婷婷色| 色爱综合网| 丁香五月天综合| 97日在线视频| 亚洲性色XXXXX| 99色干| 婷婷五月天影院| 五月开心网| 黄色99视频| 婷婷黄色| 中字幕视频在线永久在线观看免费| 狠狠做深爱婷婷久久综合一区| 日韩五月天婷婷| 大香蕉啪啪| 超碰人人91| 玖玖91| 国产女18毛片多18精品| 99在线视频操999| 欧美性生交XXXXX无码小说| 亚洲情综合五月天| 在线视频区| 97超碰,人人舔,人人操,人人摸 | 五月天另类小说久久小说网| 超碰在线免费观看3 9| 色色色热| 国产67194| 嫩草AV久久伊人妇女超级A | 欧美大肥婆大肥BBBBB| 天天插天天射| 超碰国产在线播放| 久热久69| 国产亚洲成AV人片在线| 丁香婷婷91在线观看视频| 色天使色婷婷| 欧洲毛片基地c区| 91肏| 華人性愛AV在線| 日韩狠狠色婷婷| 六月婷婷七月丁香| 婷婷六月丁香欧美视频在线| 婷婷五月天成人影片| 99热这里只有是亚洲国产| 综合XX网| 婷婷社区五月天| 99久久国产宗和精品1上映| 婷婷五月激情小说| 啪啪五月婷婷| 狠狠干在线| 超碰免费在线| 亭亭色色五月天| 99热99思午夜精品| 26uuu国产激情视频| 亚洲美女网Va| 中文字幕av久久爽一区| 色情久久久| 五月丁香色婷婷色| 久思思热视频在线观看| 五月停停直播| 自拍盗摄 另类| 色婷婷97| 少妇人妻丰满做爰XXX| 婷婷伊人五月丁香天堂网| www超碰| 久草久青福利| 天天日,天天干,天天操| 性爱综合网| 免费视频WWW在线观看网站| Caoub青青超碰 | 久久久香| 丁香五月AV综合| 夜丁香五月婷婷| 久久婷婷成人综合色怡春院| 免费无码毛片一区二区A片| 亚洲成人精品三区| 日韩欧美一级大黄网站| 人人操人人爱丁香五月| 天天爽天天做| 91色综合| 强奸幻女毛片| 久久五月天激情婷婷| 婷婷丁香人妻天天久久| 五月丁香婷婷综合网| 96色婷婷| 成人操呦av| 色五月婷婷网| 激情五月婷婷综合网| 丁香婷婷九月| 免费观看欧美成人AA片爱我多深 | 日本久久综合| 热99在线| 欧美色五月| 日韩精品超碰在线观看| 一本伊人色婷| 99热这里只有精品免费| 综合 蜜月 婷婷| 五月综合777| 色色狼人综合| 亚洲精品99| 亚洲av日韩无码| 俺去啦综合网| 国产成人精品亚洲线观看| 婷婷伊人75| 久久人人人人妻| 人妻中文在线| www.jiujiujiu| 深爱激情网综合| 激情AV网| 五月婷婷激情四季| 操逼三区| 九月婷婷激情久久| 五月丁香六月欧美| 97碰超级人人看| 激情 婷婷| 欧美25p| 色婷婷四虎| 人妻久久久久久久久| 91超级碰碰| 性爱动图国产麻豆一区二区三区| 涩婷婷五月天在线精品视频| 婷婷久久爱| 欧美丁香五月天| 色综合五月天| 九九AV| 色九九综合| 91网站黄| 久久午夜理论| 香蕉人妻AV久久久久天天| 99亚洲视频| 婷婷色色婷婷| 九九Y精品热播| 九九色综合视频| 婷婷综合婷婷| 色情五月天婷婷| 亚洲字幕AV一区二区三区四区| 久久欧洲久久| 天天干天天干天天干| 五月激情啪啪啪| 香蕉AV777XXX色综合一区| 91九九九九九九| 国产精品热搜丁香五月婷婷| 婷婷激情五月呦呦| 丁香婷五月| aaaa久久| 丁香五月婷婷亚洲色图| 色丁香五月婷婷|