2023年全省職業(yè)院校技能大賽高職學(xué)生組-區(qū)塊鏈技術(shù)與應(yīng)用-樣題樣卷一_第1頁
2023年全省職業(yè)院校技能大賽高職學(xué)生組-區(qū)塊鏈技術(shù)與應(yīng)用-樣題樣卷一_第2頁
2023年全省職業(yè)院校技能大賽高職學(xué)生組-區(qū)塊鏈技術(shù)與應(yīng)用-樣題樣卷一_第3頁
2023年全省職業(yè)院校技能大賽高職學(xué)生組-區(qū)塊鏈技術(shù)與應(yīng)用-樣題樣卷一_第4頁
2023年全省職業(yè)院校技能大賽高職學(xué)生組-區(qū)塊鏈技術(shù)與應(yīng)用-樣題樣卷一_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

一、單選題1、在區(qū)塊鏈技術(shù)中,數(shù)據(jù)以何種方式永久存儲。A、鏈條方式B、區(qū)塊方式C、加密方式D、分散方式2、以下關(guān)于狀態(tài)機(jī)的描述中正確的是()A、Moore型狀態(tài)機(jī)其輸出是當(dāng)前狀態(tài)和所有輸入的函數(shù),Mealy型狀態(tài)機(jī)其輸出信號是當(dāng)箭狀態(tài)和當(dāng)前輸入的函數(shù)B、與Moore型狀態(tài)機(jī)相比,Mealy型的輸出變化要領(lǐng)先一個時鐘周期C、Mealy型狀態(tài)機(jī)其輸出是當(dāng)前狀態(tài)的函數(shù)D、以上都不對3、實(shí)現(xiàn)同一功能的Mealy型同步時序電路比Moore型同步時序電路所需要的()A、狀態(tài)數(shù)目更多B、狀態(tài)數(shù)目更少C、觸發(fā)器更多D、觸發(fā)器更少4、狀態(tài)機(jī)的編碼風(fēng)格包括一段式,兩段式和三段式,下列描述正確的是()A、一段式寄存器輸出,易產(chǎn)生毛刺不利于時序B、二段式組合邏輯輸出不產(chǎn)生毛刺.有利于時序約束C、三段式寄存器輸出。不產(chǎn)生毛刺,有利于時序約束;D、所有描述風(fēng)格都是寄存器輸出,易產(chǎn)生毛刺,有利于時序約束5、組織的上鏈要完成組織身份的發(fā)放,組織可以向CAServer或者ICAServer進(jìn)行證書申請,以獲取自身的MSP身份文件。MSP的身份文件,規(guī)定了該組織在聯(lián)盟鏈中的成員權(quán)限、身份、簽名等相關(guān)信息。那么,共有9部分組成MSP身份文件,其中存儲組織私鑰的文件是:A、AdministratorsB、SigningCertificatesCKeystoreD、RootCAs6、以太坊主網(wǎng)在剛開始運(yùn)行發(fā)布的時候的是以下哪種共識機(jī)制進(jìn)行挖礦?A、powB、dposC、poaD、pos7、以太坊編輯器:Remix下的部署合約使用的語言是JavaScript,在部署合約代碼中我們使用的是哪一個前端庫進(jìn)行合約的部署?A、WebB、Web3.jsC、Web3.0D、w3c8、交易實(shí)質(zhì)上是包含了一組輸入列表和輸出列A、運(yùn)算記錄B、上鏈記錄C、轉(zhuǎn)賬記錄D、成交記錄9、_______是指任何人都可以隨時進(jìn)入到系統(tǒng)中讀取數(shù)據(jù)、發(fā)送可確認(rèn)交易、競爭記賬的區(qū)塊鏈。需要用代幣激勵參與者競爭記賬的是_______。在______中,公共的可讀性并非是必須的。A、公有鏈;聯(lián)盟鏈;私有鏈B、私有鏈;聯(lián)盟鏈;公有鏈C、公有鏈;公有鏈;私有鏈D、私有鏈;私有鏈;公有鏈10、以太坊中由智能合約代碼控制的賬戶叫做()。A、外部擁有賬戶B、合約賬戶C、內(nèi)部加密賬戶D、漱活賬戶11、下面的solidity語句書寫正確的是A、functionhelloreturns(uint){}B、functionhello(uinti)return(uint){}C、functionhello(uinti)returns(uint){}D、functionhello(uinti)returns{}12、關(guān)于Hash下列說法正確的是?A、哈希是一種數(shù)學(xué)計算機(jī)程序,它只能接受固定長度的輸入信息,通過哈希算法變換成固定的長度的數(shù)據(jù)指紋輸出形式B、哈希是一種數(shù)學(xué)計算機(jī)程序,它可以接受任意長度的輸入信息,通過哈希算法變換成固定的長度的數(shù)據(jù)指紋輸出形式C、哈希使存儲和查找信息的速度變的更慢,因為哈希值通常是固定的長度的數(shù)據(jù)D、哈希使存儲和查找信息的速度變的更快,因為哈希值通常是不固定的長度的數(shù)據(jù)13、Solidity處理錯誤需要保證事務(wù)的()A、一致性B、持久性C、原子性D、隔離性14、"解釋代碼中的變量對應(yīng)于哪個內(nèi)存區(qū)域:contractMyContract{uintcount;uint[]totalPoints;}"A、StorageB、MemoryC、CalldataD、Stack15、在哪里修改配置數(shù)據(jù)?A、配置文件B、數(shù)據(jù)文件C、日志文件D、搭鏈文件16、節(jié)點(diǎn)編號文件在哪個文件下生成?A、配置文件B、數(shù)據(jù)文件C、日志文件D、公鏈文件17、在Go語言編輯器中單行注釋的快捷鍵是什么()A、Ctrl+/B、Ctrl+Shift+/C、Ctrl+CD、Ctrl+D18、Solidity智能合約的文件擴(kuò)展名是()A、.goB、goC、.solD、sol19、區(qū)塊鏈的分層結(jié)構(gòu)不包括?A、數(shù)據(jù)層與網(wǎng)絡(luò)層B、共識層與合約層C、激勵機(jī)制與應(yīng)用層D、合約層與發(fā)布層20、關(guān)于區(qū)塊鏈3.0,下列說法正確的是?A、區(qū)塊鏈3.0被稱為“可編程金融”B、區(qū)塊鏈3.0不屬于智能合約C、區(qū)塊鏈3.0不需要節(jié)點(diǎn)與地址D、區(qū)塊鏈3.0主要應(yīng)用在社會治理領(lǐng)域21、關(guān)于邏輯運(yùn)算符||下列說法正確的是()A、如果兩邊的操作數(shù)都是True,則條件True,否則為False。B、如果兩邊的操作數(shù)有一個True,則條件True,否則為False。C、如果條件為True,則邏輯NOT條件False,否則為True。D、如果兩邊的操作數(shù)都是True,則條件Fasle,否則為True。22、Solidity語言編寫的智能合約的開發(fā)過程不包括()A、編寫B(tài)、編譯C、鏈接D、部署23、關(guān)于main函數(shù),下面說法錯誤的是()A、main函數(shù)能帶參數(shù)B、main()函數(shù)只能聲明在main包中,不能聲明在其他包中C、main函數(shù)不能定義返回值D、main函數(shù)中可以使用flag包來獲取和解析命令行參數(shù)24、解釋代碼中的變量對應(yīng)于哪個內(nèi)存區(qū)域:functionlocalVars(){uint[]pointer=totalPoints;}A、StorageB、MemoryC、CalldataD、Stack25、關(guān)于智能合約,下列說法正確的是:A、智能合約隨著以太坊(ETH)的發(fā)明而被提出B、智能合約指當(dāng)一個預(yù)先編好的條件被觸發(fā)時,智能合約會立即執(zhí)行相應(yīng)的合同條款。C、使用智能合約的區(qū)塊鏈只能承擔(dān)貨幣職能。D、智能合約的工作原理類似于計算機(jī)程序的while語句。二、多選題以下哪些可以應(yīng)用區(qū)塊鏈應(yīng)用的領(lǐng)域是()?A、金融B、物流C、醫(yī)療D、保險2、在金融的案例中,所有的組織進(jìn)行了聯(lián)盟鏈的上鏈操作。區(qū)塊鏈在節(jié)點(diǎn)權(quán)限方面分為公有鏈、私有鏈和聯(lián)盟鏈。在信用結(jié)算的案例中,之所以選擇聯(lián)盟鏈,必有其獨(dú)特的優(yōu)勢。下面屬于聯(lián)盟鏈優(yōu)點(diǎn)的是:A、交易成本更便宜B、節(jié)點(diǎn)之間的連接更穩(wěn)定C、聯(lián)盟鏈數(shù)據(jù)讀取權(quán)限受到限制,可以對商業(yè)信息提供更好的隱私保護(hù)D、更靈活。運(yùn)行聯(lián)盟鏈的組織或公司可以很容易地修改該區(qū)塊鏈的規(guī)則,還原交易,修改交易等3、以下對區(qū)塊鏈技術(shù)描述優(yōu)點(diǎn)正確的是A、去中心化B、透明公開C、完整性D、機(jī)密性4、一筆業(yè)務(wù)數(shù)據(jù)在區(qū)塊鏈上處理的流程大致可分為那幾個階段A、查詢階段B、上鏈前處理階段C、鏈上處理階段D、智能合約處理階段5、聯(lián)盟鏈中的CA證書服務(wù)模塊,包括五個部分,分別是:CAServer、CAClient、ICA、LDAP、CA數(shù)據(jù)庫,這五部分相互之間進(jìn)行聯(lián)系。其中這五部分中和CAServer相關(guān)聯(lián)的部分為:A、CAClientB、ICAC、LDAPD、CA數(shù)據(jù)庫 6、Go語言的作者都有哪幾位()A、RobPike(羅伯.派克)B、KenThompson(肯.湯普森)C、RobertGriesemer(羅伯特.格利茨默)D、SatoshiNakamoto(中本聰)7、下列關(guān)于if條件語句說法正確的有()A、if語句由一個布爾表達(dá)式后緊跟一個或多個語句組成。B、if在布爾表達(dá)式為true時,其后緊跟的語句塊執(zhí)行,如果為false則不執(zhí)行。C、if條件語句需要開發(fā)者通過指定一個或多個條件,并通過測試條件是否為true來決定是否執(zhí)行指定語句,并在條件為false的情況在執(zhí)行另外的語句。D、if條件語句可以通過&&邏輯與||邏輯或!邏輯非,判斷表達(dá)式。8、區(qū)塊鏈達(dá)成分布式商業(yè)基礎(chǔ)設(shè)施階段,需要的前提條件有?A、務(wù)高效率集中處理B、資產(chǎn)上鏈C、區(qū)塊鏈被社會大規(guī)模的接受,政府、金融機(jī)構(gòu)都納入?yún)^(qū)塊鏈中D、不同政府部門開具不同的證明,信息系統(tǒng)互相獨(dú)立9、整型的關(guān)鍵字有()A、structB、boolC、intD、uint10、聯(lián)盟鏈的通道是實(shí)現(xiàn)鏈上數(shù)據(jù)隔離和隱私保護(hù)的關(guān)鍵服務(wù),通道的搭建必然和其他的服務(wù)組件有多重鏈接,那么請選擇出下面那些組件與通道產(chǎn)生直接關(guān)聯(lián)。A、BroadcastB、DliverC、orderer節(jié)點(diǎn)D、kafka共識組件E、錨節(jié)點(diǎn)F、區(qū)塊鏈賬本G、世界狀態(tài)H、組織I、系統(tǒng)鏈碼三、判斷題1、分叉包括軟分叉與硬分叉對錯2、客戶端、對等點(diǎn)、排序服務(wù)節(jié)點(diǎn)是節(jié)點(diǎn)的三種類型()對錯3、在區(qū)塊鏈中,通過解決一個數(shù)學(xué)難題來證明自己的工作量。這個數(shù)據(jù)難題就是,對一個數(shù)字串進(jìn)行兩次SHA256運(yùn)算,如果得到的數(shù),小于一個指定的值,就算是成功。否則,要通過不斷的嘗試試錯,來求解這個數(shù)。對錯一個函數(shù)被調(diào)用后,返回給調(diào)用處的執(zhí)行結(jié)果,叫做函數(shù)的返回值。對錯5、函數(shù)是Go里面的核心設(shè)計,它通過關(guān)鍵字func來聲明。對錯6、下面說法是否正確:Base58是一種基于文本的二進(jìn)制編碼,多用在加密貨幣中,主要用于產(chǎn)生各類加密貨幣的錢包地址對錯7、下面關(guān)于交易輸出列表TXOutputList說法是否正確:交易o(hù)utput(TxOut)結(jié)構(gòu)由地址和數(shù)量兩個成員變量組成。數(shù)量代表了交易的虛擬貨幣的數(shù)量。地址就是一個ECDSA的公鑰,代表接收者。對錯8、狀態(tài)變量不能設(shè)置為external。對錯構(gòu)造函數(shù)是特殊的函數(shù),在部署合約的時候,就會被調(diào)用。對錯10、公私鑰是由非對稱加密技術(shù)產(chǎn)生的,公鑰和私鑰不同,但是可以基于私鑰生成公鑰。對錯區(qū)塊鏈技術(shù)代碼實(shí)現(xiàn)1、Go:bool類型題7分關(guān)系運(yùn)算符也叫比較運(yùn)算符,在Go語言中,關(guān)系運(yùn)算符的結(jié)果都是bool型,也就是運(yùn)算的結(jié)果要么是ture,要么是false任務(wù)要求:1、請根據(jù)a,b對應(yīng)的值,完成下面表格的填寫2、填寫完成后,請點(diǎn)擊保存按鈕,完成試題的填寫 2、Go:hash的運(yùn)算8分通過Go語言實(shí)現(xiàn)hash加密,學(xué)生能夠了解hash的生成過程以及其中的數(shù)據(jù)流轉(zhuǎn),字符加密,認(rèn)知到hash傳動的數(shù)據(jù)流程線。任務(wù)要求:1、請根據(jù)題干要求,通過Go語言完成試題2、填寫完成后,請點(diǎn)擊保存按鈕,完成試題的填寫3、請仔細(xì)讀題,注意不同類型之間的數(shù)據(jù)轉(zhuǎn)換。4、請把你編寫的代碼,保存到下面代碼編輯器中,作為代碼數(shù)據(jù)的留存。題目A:"北京知鏈科技"(string類型),六個字通過sha1加密以后的hash(string類型)是_______________。題目B:"區(qū)塊鏈"(string類型),三個字通過sha256類型下224類型下加密后hash值(string類型)是_______________。題目C:數(shù)字num=2022(int類型),數(shù)字2022通過md5加密以后hash(string類型)的值是_______________。題目D:數(shù)字2022.10(float32類型),通過sha256加密算法中224類型加密,得到的加密hash為_______________。3、在go語言中,通過算術(shù)運(yùn)算符的特性(只對數(shù)值類型的變量進(jìn)行運(yùn)算)將初始化賦值的變量進(jìn)行算術(shù)運(yùn)算,得到新的數(shù)值賦值給臨時變量,并存儲到新地址中從而完成整個計算任務(wù)要求:1、請根據(jù)題干要求,通過Go語言完成試題2、填寫完成后,請點(diǎn)擊保存按鈕,完成試題的填寫3、請把你編寫的代碼,保存到下面代碼編輯器中,作為代碼數(shù)據(jù)的留存。試題A:請使用Go語言知識,完成下面填空題:正整數(shù)從100到999(100-999)的和是_______________。試題B:1、正整數(shù)從100到200(100-200)奇數(shù)有_______________個。2、正整數(shù)從100到200(100-200)能被3整除的數(shù)的和是_______________。試題C:斐波那契數(shù)列(Fibonaccisequence),又稱黃金分割數(shù)列,因數(shù)學(xué)家萊昂納多·斐波那契(LeonardoFibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”。指的是這樣一個數(shù)列:1、1、2、3、5、8、13、21、34、……在數(shù)學(xué)上,斐波那契數(shù)列以如下被以遞推的方法定義:F(0)=0,F(xiàn)(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)這個數(shù)列有以下特點(diǎn):第1,2兩個數(shù)為1,1,。從第三個數(shù)開始,該數(shù)是其前兩個數(shù)之和。1、請根據(jù)上述數(shù)列的描述,計算Fibonacci數(shù)列的前20個數(shù)的和為_______________。4、Go:時間的轉(zhuǎn)換7.5分時間戳Go語言中time包為我們提供了一個數(shù)據(jù)類型time.Time(作為值使用)以及顯示和測量時間和日期的功能函數(shù)。任務(wù)要求:1、請根據(jù)題干要求,通過Go語言完成試題2、填寫完成后,請點(diǎn)擊保存按鈕,完成試題的填寫3、請把你編寫的代碼,保存到下面代碼編輯器中,作為代碼數(shù)據(jù)的留存。試題A:請把當(dāng)前時間戳1666847356,轉(zhuǎn)化時間是多少(必須輸入數(shù)字),____

年,____

月,____

日,

____時,____

分,____

秒。試題B:時間戳(1666372476)與時間戳(1628468567)相差多少________秒。把上面兩個時間戳相差的秒數(shù),換算得到

____日,

____時,____

分,____

秒。題目C:請使用Go語言,算出2022年10月29號,是2022年的第幾天?____________5、Go:區(qū)塊鏈UTXO交易模型13.5分區(qū)塊鏈的交易模型也簡稱為UTXO(unspenttransactionoutput),全稱是未花費(fèi)的交易輸出,一次交易如果有余額,就有未花費(fèi)的交易輸出,如果沒有余額,那么交易輸入中存的就都是已花費(fèi)的交易輸出。所以,所有未花費(fèi)的交易輸出加起來,就是當(dāng)前賬戶的余額。題目要求:1、已經(jīng)提供了A、B、C、D的區(qū)塊鏈錢包地址2、請根據(jù)下方交易的類型,填寫UTXO模型內(nèi)容A錢包地址:B錢包地址:C錢包地址:D錢包地址:1MJCRVk83vZD6RZ53xtpNHdwJNe46V38F814ZM3zX72hirAwqHY2RV5YwdJRTzEjkJqS1KZfqmKLUCEkSrs1QdUVkqWFjmVVBZKxay1GhBFsMTSg3BVbUoEzguuVv8LLS4XCwHmh第一筆交易:B打包記賬獲得80第二筆交易:A打包記賬獲得50第三筆交易:A轉(zhuǎn)賬給B10第四筆交易:B轉(zhuǎn)賬給C85交易ID:TXid1交易ID:TXid2交易ID:TXid3交易ID:TXid46、Go:區(qū)塊鏈MerkleTree8分任務(wù)說明:Merkle根,是由區(qū)塊主體中所有交易的哈希值再逐級兩兩哈希計算出來的一個數(shù)值,用于檢驗一筆交易是否在這個區(qū)塊中存在。Merkle是一種二叉樹,由一組葉子結(jié)點(diǎn)、一組中間節(jié)點(diǎn)和一個根節(jié)點(diǎn)構(gòu)成,根據(jù)默克爾樹的構(gòu)建特性和原理分析,完成下方Merkle二叉樹的模型。一棵Merkle樹有如下特點(diǎn):1、葉子結(jié)點(diǎn)的值是實(shí)際數(shù)據(jù)塊的Hash值。2、每個非葉子結(jié)點(diǎn)的值,都是孩子結(jié)點(diǎn)的Hash值。根結(jié)點(diǎn)稱為Merkle根3、如果樹是二叉樹的話,稱為二叉Merkle樹,且二叉Merkle樹一定是滿二叉樹(奇數(shù)葉子湊成偶數(shù)個,如果出現(xiàn)需要處理的數(shù)據(jù)塊是奇數(shù)個,只需要把這些數(shù)據(jù)塊中的任意一個復(fù)制一份湊成偶數(shù)個就行,一般選擇復(fù)制最后一個塊。)4、請根據(jù)下面展示內(nèi)容,比如當(dāng)交易Tx1,Tx2節(jié)點(diǎn)產(chǎn)生節(jié)點(diǎn)H12。請完成下面奇數(shù)交易與偶數(shù)交易時的節(jié)點(diǎn)樹題目A:奇數(shù)交易題目B:偶數(shù)交易7、Go:區(qū)塊鏈編碼算法10分算法在區(qū)塊鏈中普遍應(yīng)用任務(wù)要求:1、請根據(jù)題干要求,通過Go語言完成試題2、填寫完成后,請點(diǎn)擊保存按鈕,完成試題的填寫3、請把你編寫的代碼,保存到下面代碼編輯器中,作為代碼數(shù)據(jù)的留存。試題A:Base58編碼解碼1、Base58是一種基于文本的二進(jìn)制編碼,安裝base58標(biāo)準(zhǔn)包命令是:_________。2、msg:="知鏈科技-區(qū)塊鏈人才培養(yǎng)搖籃",通過base58編碼以后的值是_________。3、encode:="2cCdUeP76PYZByQ649kps8PBxqPVD92yzDG"是通過base58編碼以后的結(jié)果,通過base58轉(zhuǎn)碼后,原文是_________。試題B:Ripemd160算法Ripemd160算法是一種基于字節(jié)轉(zhuǎn)換的二進(jìn)制編碼,安裝Ripemd160標(biāo)準(zhǔn)包命令是:_________。2、Rmsg:="知鏈-區(qū)塊鏈技術(shù)大賽",Rmsg通過ripemd160算法編碼以后,得到的值(string類型)是___________。8、Go:區(qū)塊鏈存儲文件16分通過區(qū)塊鏈存儲機(jī)制了解區(qū)塊鏈存儲機(jī)制的多樣化方法以及在其中的結(jié)構(gòu)本質(zhì),認(rèn)知到區(qū)塊鏈存儲機(jī)制的實(shí)現(xiàn)過程。1、請下載本題提供的源碼2、打開編輯器,閱讀并補(bǔ)全源碼,并運(yùn)行區(qū)塊鏈存儲文件源碼,其中BlockChain.dat存儲了區(qū)塊鏈的區(qū)塊信息3、請解析區(qū)塊鏈的區(qū)塊信息,回答以下問題4、請把補(bǔ)全的核心代碼粘貼到下方代碼區(qū),作為代碼留存試題A:請下載本試題提供的試題源碼壓縮包文件,回答下面問題當(dāng)前文件中,存儲區(qū)塊鏈文件的文件名字是_________。2、區(qū)塊鏈(Block)結(jié)構(gòu)體中,區(qū)塊高度(ChainHigh)數(shù)據(jù)類型格式是_________。3、在utils.go中,判斷文件是否存在的方法名字是_________。4、創(chuàng)世區(qū)塊中,存儲的創(chuàng)世區(qū)塊Data值是_________。試題B:請根據(jù)提供的試題源碼,補(bǔ)充部分源碼,解析區(qū)塊鏈存儲文件,回答一下問題要想解析區(qū)塊鏈存儲文件,需要先打包go文件,下面哪個命令可以進(jìn)行打包,并生成運(yùn)行文件_________。2、在osCli.go文件中,打印區(qū)塊鏈命令是_________。3、解析區(qū)塊鏈文件,區(qū)塊高度為0對應(yīng)的區(qū)塊,時間戳是_________。4、解析區(qū)塊鏈文件,區(qū)塊高度為1對應(yīng)的區(qū)塊,Hash是_________。5、解析區(qū)塊鏈文件,區(qū)塊高度為3對應(yīng)的區(qū)塊,data存儲的值是_________。6、解析區(qū)塊鏈文件,區(qū)塊高度為4對應(yīng)的區(qū)塊,前置hash是_________。9、Go:RSA算法10分非對稱加密算法指加密和解密使用不同密鑰的加密算法,也稱為公私鑰加密。RSA是目前計算機(jī)密碼學(xué)中最經(jīng)典算法,也是目前為止使用最廣泛的數(shù)字簽名算法,RSA數(shù)字簽名算法的密鑰實(shí)現(xiàn)與RSA的加密算法是一樣的,算法的名稱都叫RSA。題目要求:1、請下載本題提供的源碼壓縮包2、文件壓縮包里面包含公鑰私鑰文件3、請使用私鑰公鑰文件,回答下面問題4、請把補(bǔ)全的核心代碼粘貼到下方代碼區(qū),作為代碼留存試題A:請下載本試題提供的源碼回答下面問題:1、請問源碼文件中,私鑰是____________文件。2、請問源碼文件中,公鑰是____________文件。試題B:RSA公鑰加密、私鑰解密 data:="w4TkMZ/KsLuLiCsO0QFEGT14l6WUvhkhi/0E5TuzEoEqOiaMFnDGykKJly4+fiqAg8JFneWvBT4U2M9Nzto0jg=="加密數(shù)據(jù)(data)是公鑰加密以后的結(jié)果,請根據(jù)試題提供的私鑰,解密得到的原文是________。試題C:RSA私鑰簽名、公鑰驗簽題一:同學(xué)A得到一組信息info:="2022-10"請使用試題提供的私鑰,對info進(jìn)行數(shù)字簽名,得到的數(shù)字簽名是__________題二:同學(xué)A通過私鑰數(shù)字簽名得到了簽名信息:signMsg:="EtP98oXA120RKU/NBYAk0pkdo2PrSbJA6NTYVPYQzPjm+PN6aaRqSkAtuw8mkGvnVBTppS2DJPSHp66CnvJQ2A=="同學(xué)B接受拿到了明文信息:forMsg:="區(qū)塊鏈人才"請問B同學(xué)通過公鑰驗簽,驗證結(jié)果是_______________。10、Go:區(qū)塊鏈錢包地址12分任務(wù)要求:1、請根據(jù)題干要求,通過Go語言完成試題2、填寫完成后,請點(diǎn)擊保存按鈕,完成試題的填寫3、請下載本試題提供的試題源碼文件,完成試題4、請把你編寫的代碼,保存到下面代碼編輯器中,作為代碼數(shù)據(jù)的留存。試題A:錢包地址的生成區(qū)塊鏈錢包地址生成算法:先生成________,再由________算出________,再由________經(jīng)過一系列哈希算出____________。試題B:區(qū)塊鏈錢包地址1、解析區(qū)塊鏈錢包公私鑰文件,公鑰hash(string類型)是____________。2、解析區(qū)塊鏈錢包公私鑰文件,前4個字節(jié)是(string類型)________________。3、解析區(qū)塊鏈錢包公私鑰文件,25個字節(jié)是(string類型)________________。4、解析區(qū)塊鏈錢包公私鑰文件,區(qū)塊鏈錢包地址是(string類型)____________。五、智能合約實(shí)戰(zhàn)

工程師1、編寫智能合約題目描述:根據(jù)開發(fā)文檔分析CreditInquiry.sol文件中的智能合約,在正確的位置填寫代碼實(shí)現(xiàn)物品共享合約,將結(jié)果保存上傳到考試平臺并編譯智能合約。

某公司打算開發(fā)區(qū)塊鏈征信查詢系統(tǒng),該系統(tǒng)主要將用戶及征信分?jǐn)?shù)添加到合約中,查詢其征信分?jǐn)?shù),在進(jìn)行系統(tǒng)開發(fā)時,需要完成合約的編寫與編譯。任務(wù)要求:以下是征信查詢合約要實(shí)現(xiàn)的功能,請根據(jù)“開發(fā)文檔”,在正確的位置填寫代碼實(shí)現(xiàn)征信查詢合約,將結(jié)果保存上傳到考試平臺并編譯智能合約。功能對應(yīng)名稱合約所有者owner用戶管理userMessage用戶IDid用戶密碼password合約限制Owner添加用戶ownerSetUser添加征信分?jǐn)?shù)ownerSetScore合約發(fā)起人獲得用戶征信分?jǐn)?shù)ownerGetScore用戶獲得征信分?jǐn)?shù)userGetScore1_________>=0.0.0;23____ItemSharing{45addresspublicowner;//合約所有者67//租借人信息8structrenter{9addresspayablearr;//租借人地址10uintleasetime;//租借時間11}1213//物品信息14structitem{15addresspayablecreate;//創(chuàng)建人地址16stringitemName;//物品名稱17uintitemPrice;//物品價格18uintitemDeposit;//物品租賃費(fèi)用19bytesitemHash;//物品哈希20renterren;//租借人信息21boolynren;//是否被租借22}2324uint[]itemids;//物品列表25uintitemNum;//物品數(shù)量2627item[]items;//存儲物品28mapping(string=>uint)nameToid;//姓名對應(yīng)id293031//初始化合約所有者地址為合約調(diào)用者地址32constructor(){33owner=____;34}3536 //上傳新物品37functionsetItem(stringmemoryitemName,uintitemPrice,uintitemDeposit,bytesmemoryitemHash)publicreturns(uint){38//生成物品,保存新物品的物品信息39________newItem;40newItem.create=msg.sender;41newItem.itemName=____;42newItem.itemPrice=itemPrice;43newItem.itemDeposit=itemDeposit;44newItem.itemHash=itemHash;45newItem.ynren=false;4647//存儲物品姓名、id及數(shù)量48items.push(newItem);49itemids.push(____);50nameToid[itemName]=itemNum;51itemNum++;5253returnitemNum;54}5556//租賃物品57functiongetItem(uintid,addresspayableren,uintdatetamp)publicpayablereturns(bool){5859itemmemorytemp=items[id];6061if(temp.ynren)62returnfalse;63if(temp.create==ren)64returnfalse;65if(ren.balance<temp.itemDeposit)66returnfalse;6768items[id].ynren=____;69//保存租借人、租借時間、物品押金70items[id].ren.leasetime=datetamp;71items[id].ren.leasetime=datetamp;7273items[id].ren.arr.transfer(temp.itemDeposit);7475returntrue;76}7778//歸還物品79functionreturnItem(uintid,addresspayableren)publicpayablereturns(bool){8081itemmemorytemp=items[id];8283if(!temp.ynren)84return____;8586items[id].ynren=false;87items[id].ren.arr=ren;8889items[id].ren.leasetime=0;9091items[id].create.transfer(msg.value);92items[id].ren.arr.transfer(temp.itemDeposit-msg.value);9394returntrue;95}9697//根據(jù)商品名稱查詢商品id98functiongetItemToName(_____________)publicviewreturns(uint){99returnnameToid[name];100}101102//根據(jù)商品id獲得租借信息103functiongetItemToId(uintid)publicviewreturns(bool){104returnitems[id].ynren;105}106107//根據(jù)商品id獲得起始租借時間108functiongetReturnTime(uintid)publicviewreturns(uint){109if(!items[id].ynren)110return0;111returnblock.timestamp-items[id].ren.leasetime;112}113114//獲得物品數(shù)量115functiongetItemNum()publicviewreturns(uint){116____________117}118119//根據(jù)物品id獲得物品信息120functiongetTheItem(________)publicviewreturns(uint,address,stringmemory,uint,uint,bytesmemory,bool){121return(id,items[id].create,items[id].itemName,items[id].itemPrice,items[id].itemDeposit,items[id].itemHash,items[id].ynren);122}123124//根據(jù)物品id獲得租借人信息125functiongetRenter(uintid)publicviewreturns(uint,____,uint){126return(id,items[id].ren.arr,items[id].ren.leasetime);127}128}2、部署智能合約題目描述:根據(jù)智能合約源碼及下方提示文字填寫初始化參數(shù),完成智能合約的部署。智能合約在開發(fā)完成后,需要部署才能上鏈。智能合約部署到百度超級鏈中時需要初始化參數(shù)。任務(wù)要求:在進(jìn)行合約部署上鏈時,需要填寫合約的初始化參數(shù),請通過對智能合約源碼的解讀,填寫物品共享合約的初始化參數(shù),完成合約的部署上鏈。初始化參數(shù)怎么填寫?1.使用模板合約:請按照默認(rèn)通數(shù)填寫參數(shù)。注:部分合的初始化參數(shù)為0,即無需填寫,2.使用自定義合約:請自己填寫初始化參數(shù),初始化參數(shù)是litilize方法中要求的參數(shù),以JSON格式組織的Key-Value對,例如counter合約的初始化參數(shù)范例:(“creator":"xchain")。3、調(diào)用智能合約題目描述:根據(jù)開發(fā)文檔分析并補(bǔ)全XuperChainApiController.java文件中的調(diào)用代碼,將結(jié)果保存上傳到考試平臺并編譯運(yùn)行代碼,啟動智能合約調(diào)用界面,實(shí)現(xiàn)智能合約的運(yùn)行。

為了在鏈上調(diào)用智能合約,需要讀取智能合約的狀態(tài)、數(shù)據(jù)等,最終調(diào)用合約的方法。任務(wù)要求:當(dāng)調(diào)用智能合約時,要求從導(dǎo)入信息、調(diào)用接口、賬戶keys等幾個方面的信息實(shí)現(xiàn)智能合約的調(diào)用,參考以下表格完成智能合約調(diào)用代碼的實(shí)現(xiàn),將結(jié)果保存上傳到考試平臺并編譯運(yùn)行代碼,啟動智能合約調(diào)用界面,實(shí)現(xiàn)智能合約的運(yùn)行。功能詳情KEYS_PATHsrc/main/resources/keysCODE_PATHsrc/main/resources/contract/CLIENT_URL:37101調(diào)用錄入文件信息的接口addContractInterface調(diào)用查詢文件信息的接口queryContractInterface1package.api;23importcom.baidu.xuper.api.Account;4importcom.baidu.xuper.api.Transaction;5importcom.baidu.xuper.api.XuperClient;6importnet.sf.json.JSONObject;7importmons.logging.Log;8importmons.logging.LogFactory;9importorg.springframework.stereotype.Controller;10importorg.springframework.web.bind.annotation.RequestMapping;11importorg.springframework.web.bind.annotation.RequestMethod;12importorg.springframework.web.bind.annotation.RequestParam;13importorg.springframework.web.bind.annotation.ResponseBody;1415importjava.math.BigInteger;16importjava.util.HashMap;17importjava.util.Map;1819@Controller20@RequestMapping("/xuperChainApiController")21publicclassXuperChainApiController{2223privatestaticfinalLoglog=LogFactory.getLog(XuperChainApiController.class);24//導(dǎo)入日志25publicstaticfinalStringKEYS_PATH=_______;26publicstaticfinalStringCONTRACT_ACCOUNT="XC2022081600000001@xuper";27publicstaticfinalStringCODE_PATH=_______;28publicstaticfinalStringCLIENT_URL=_______;29//調(diào)用上傳新物品的接口30@RequestMapping(value=_______,method=RequestMethod.POST,produces="application/json;charset=utf-8")31@ResponseBody32publicMap<String,Object>addContractInterface(@RequestParamJSONObjectparameterJson){33Map<String,Object>resultMap=newHashMap<>();34try{35XuperClientclient=newXuperClient(CLIENT_URL);3637//導(dǎo)入合約賬戶的kyes38Accountaccount=Account.create(KEYS_PATH);39account.setContractAccount(CONTRACT_ACCOUNT);40//解析請求參數(shù)41Map<String,String>contractParams=JSONObject.fromObject(parameterJson);424344TransactioninvokeTx=client.invokeEVMContract(______,_____,______,_______,_______);45resultMap.put("code",200);46resultMap.put("data",invokeTx.getContractResponse().getBodyStr());47resultMap.put("message","添加成功");48}catch(Exceptione){49log.error("操作失敗",e);50resultMap.put("code",500);51resultMap.put("message",e.getMessage());52returnresultMap;53}54returnresultMap;55}5657//調(diào)用租賃新物品的接口58@RequestMapping(value="/addContractInterface",method=RequestMethod.POST,produces="application/json;charset=utf-8")59@ResponseBody60publicMap<String,Object>addContractInterface(@RequestParamJSONObjectparameterJson){61Map<String,Object>resultMap=newHashMap<>();62try{63XuperClientclient=newXuperClient(CLIENT_URL);64?65//導(dǎo)入合約賬戶的kyes66Accountaccount=Account.create(KEYS_PATH);67

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論