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

下載本文檔

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

文檔簡介

一、單選題

1、運用()技術,可以在保證數(shù)據(jù)安全的前提下解決數(shù)據(jù)孤島問題。

A、移動互聯(lián)網(wǎng)B、區(qū)塊鏈C、互聯(lián)網(wǎng)D、電子貨幣

2、在區(qū)塊鏈技術中,數(shù)據(jù)以何種方式永久存儲。

A、鏈條方式B、區(qū)塊方式C、加密方式D、分散方式

3、以太坊主網(wǎng)在剛開始運行發(fā)布的時候的是以下哪種共識機制進行挖礦?

A、powB、dposC、poaD、pos

4、區(qū)塊鏈技術在不斷發(fā)展,其演進過程可以分為三個階段,區(qū)塊鏈3.0是指()。

A、可編程社會B、可編程金融C、可編程貨幣D、以上選項都不是

5、共識層用來解決網(wǎng)絡節(jié)點的共識問題,通過()的方式保持節(jié)點一致性

A、PowB、DposC、PBFTD、POP

6、以太坊編輯器remix下的部著代碼的作用是什么?

A、將合約上鏈B、將合約編譯C、將合約進行預處理D、將合約進行賦值

7、去中心化的三個優(yōu)點不包括?

A、防篡改性B、容錯性C、抗攻擊性D、抗勾結性

8、數(shù)據(jù)元的唯一標識被稱作為

A、標識符B、元代碼C、元號D、元區(qū)塊

9、區(qū)塊鏈網(wǎng)絡中的節(jié)點包括()。

A、計算機B、事件C、交易IDD、記錄

10、Dpos是一種區(qū)塊鏈的共識算法.那么它的專業(yè)術語是以下哪個?

A、工作量證明機制B、權益證明機制

C、股份授權證明機制D、容量證明

11、非對稱加密包含()密鑰,分別是()?

A、一個,公鑰B、一個,私鑰

C、兩個,公鑰、密鑰D、兩個,公鑰、私鑰

12、普通節(jié)點根據(jù)所承擔的角色又可以分為記賬節(jié)點、、主節(jié)點和錨節(jié)

點。

A、模擬節(jié)點B、背書節(jié)點C、排序節(jié)點D、審查節(jié)點

13、在區(qū)塊鏈上向某一個人轉賬時需要獲取這個人的什么?

A、地址B、私鑰C、賬號D、姓名

14、在組織的搭建中,節(jié)點是發(fā)起業(yè)務交易、存儲通道賬本、背書交易、驗證

區(qū)塊等核心功能的主體,在聯(lián)盟鏈中扮演著不可替代的作用,請判斷出節(jié)點有哪

些類型?

A、輕節(jié)點、全節(jié)點、超級節(jié)點、挎礦節(jié)點

B、記賬節(jié)點、主節(jié)點、背書節(jié)點、錨節(jié)點

C、輕節(jié)點、全節(jié)點、背書節(jié)點、挖礦節(jié)點

D、記賬節(jié)點、挖礦節(jié)點、背書節(jié)點、全節(jié)點

15、節(jié)點編號文件在哪個文件下生成?

A、配置文件B、數(shù)據(jù)文件C、日志文群D、公鏈文件

16、”以下函數(shù)的可見性是?functionadd()privateview

returns(uint){returna+uint(b);}"

A、內(nèi)部及派生合約B、內(nèi)部及外部C、內(nèi)部D、外部

17、Solidity中msg.sender表示()

A、當前調(diào)用數(shù)據(jù)B、當前消息所附帶的金額

C、當前區(qū)塊的基礎費用D、當前調(diào)用發(fā)起人的地址

18、整數(shù)類型int默認值為()

A、0B、0.0C、1D、1.0

19、如果想要在外部包中使用全局變量,則全局變量必須()

A、首字母必須大寫B(tài)、首字母必須小寫

C、必須加上const關鍵字D、必須加上var關鍵詞

21、保存在全局命名空間的變量是()

A、全局變量B、局部變量C、函數(shù)參數(shù)D、狀態(tài)變量

22、溯源應用總體架構分為五個層級結構,其中不包括的是?

A、應用層B、服務層C、基礎層D、生態(tài)層

22、在Go語言編輯器中單行注釋的快捷鍵是什么()

A、Ctrl+/B、Ctrl+Shift+/C、Ctrl+CD、Ctrl+D

23、"解釋代碼中的變量對應于哪個內(nèi)存區(qū)域:contractMyContract{uint

count;uint[]totalPoints;}"

A、StorageB、MemoryC、CalldataD、Stack

24、關于邏輯運算符||下列說法正確的是()

A、如果兩邊的操作數(shù)都是True,則條件True,否則為False。

B、如果兩邊的操作數(shù)有一個True,則條件True,否則為False。

C、如果條件為True,則邏輯NOT條件False,否則為True.

D、如果兩邊的操作數(shù)都是True,則條件Fasle,否則為True。

25、一段給定時間內(nèi)發(fā)生的事務處理結果持久化成塊鏈式數(shù)據(jù)結構屬于區(qū)塊鏈

的()數(shù)據(jù)類型。

A、賬戶數(shù)據(jù)B、區(qū)塊數(shù)據(jù)C、事務數(shù)據(jù)D、合約數(shù)據(jù)

二、多選題

1、區(qū)塊鏈是一個去中心化運行的共享數(shù)據(jù)庫,以數(shù)學難題為基礎,使用非對稱加密

算法來保證數(shù)據(jù)的安全性.存儲在其中的數(shù)據(jù)或信息.有以下哪些特征?

A、不可偽造B、可追溯C、公開透明D、集體維護

2、區(qū)塊鏈即由一個個區(qū)塊組成的鏈。每個區(qū)塊分為()

A、區(qū)塊頭B、區(qū)塊體C、區(qū)塊鏈D、賬本

3、區(qū)塊鏈技術上要有三個關鍵點是()

A、采用非對稱加密來做數(shù)據(jù)簽名B、任何人都可以參與

C、共識算法D、以鏈式區(qū)塊的方式來存儲

4、在Metamask瀏覽器插件中.我們用remix測試完合約后需要將合約部署在

測試鏈上以下哪些網(wǎng)絡可以領取測試使用的ETH?

A、以太坊主網(wǎng)絡B、Ropsten測試網(wǎng)絡

C、Kovan測試網(wǎng)絡D、Rinkeby測試網(wǎng)絡

5、區(qū)塊鏈的四個特征是

A、去中心化B、去信任C、集體維護D、可靠數(shù)據(jù)庫

6、關于package包,下面說法正確的是()

A、main包是Go語言程序的入口包“

B、如果f程序沒有main包,也能編譯成功。

C、一個Go語言程序必須有且僅有一個main包。

D、一個main包中也必須有且僅有一個main函數(shù)。

7、下列關于關鍵詞解釋中說法正確的是()

A、func:用于定義函數(shù)和方法B、var和const:變量和常量的聲明

C、struct:用于定義抽象數(shù)據(jù)類型D、m叩用于聲明自定義類型

8、下列關于關系運算符正確的有()

A、二二:檢查兩個值是否相等,如果相等返回True否則返回False.

B、!二:檢查兩個值是否不相等,如果不相等返回True否則返回False。

C、>二:檢查左邊值是否大于等于右邊值,如果是返回True否則返回False.

D、<二:檢查左邊值是否小于等于右邊值,如果是返回True否則返回False.

9、區(qū)塊鏈技術帶來的價值包括()。

A、提高業(yè)務效率B、降低拓展成本C、增強監(jiān)管能力D、創(chuàng)造合作機制

10、哈希函數(shù)有3個重要的性質(zhì),下面包含在內(nèi)的是?

A、抗碰撞性B、原像不可逆C、不可逆加密D、難題友好性

三、判斷題

L客戶端、對等點、徘序服務節(jié)點是節(jié)點的三和類型()

2、公有鏈是任何人都不可以寫入和訪問的數(shù)據(jù)。()

3、在區(qū)塊鏈上,我所有的數(shù)據(jù)都必須公開,無法進行加密或者權限控制。

4、私有鏈是指對全部人可見,并且可以進行修改的。()

5、哈希值通常用一個短的隨機字母和數(shù)字組成的字符串來代表。

6、一個函數(shù)被調(diào)用后,返回給調(diào)用處的執(zhí)行結果,叫做函數(shù)的返回值。

7、Go語言數(shù)組是具有相同類型的一組□度固定的數(shù)據(jù)序列。

8、Solidity是靜態(tài)類型的語言。

9、將多個合約定義放入單個Solidity文件中是完全正確的。

10、隨著區(qū)塊鏈的持續(xù)應用,區(qū)塊鏈數(shù)據(jù)的大小一直在增長,這種不斷增長的

現(xiàn)象稱為容量貪吃蛇。

四、Go:區(qū)塊鏈技術代碼實現(xiàn)

1、Go:bool類型題

Go:bool類型題7分

關系運算符也叫比較運算符,在Go語言中,關系運算符的結果都是bool型,也就是

運算的結果要么是ture,要么是false任務要求:

1、請根據(jù)a,b對應的值,完成下面表格的填寫

2、填寫完成后,請點擊保存按鈕,完成試題的填寫

b!a||(a&&b)!a&&(a&&!b)||!b!a||((!a||b)&&(a||b))

2、Go:hash的運算

Go:hash的運算8分

通過Go語言實現(xiàn)hash加密,學生能夠了解hash的生成過程以及其中的數(shù)據(jù)流轉,

字符加密,認知到hash傳動的數(shù)據(jù)流程線。任務要求:

1、請根據(jù)題干要求,通過Go語言完成試題

2、填寫完成后,請點擊保存按鈕,完成試題的填寫

3、請把你編寫的代碼,保存到下面代碼編輯器中,作為代碼數(shù)據(jù)的留存。

1、“知鏈科技”四個字進行md4加密之后的hash(string類型)是多少

題目B:"區(qū)塊鏈-人才培養(yǎng)搖籃”(string類型),三個字通過sha256類型下224類

型下加密后hash值(string類型)是________

代碼區(qū)

2、Go:算數(shù)運算符

Go:算數(shù)運算符8分

在go語言中,通過算術運算符的特性(只對數(shù)值類型的變量進行運算)將初始化賦值

的變量進行算術運算,得到新的數(shù)值賦值給臨時變量,并存儲到新地址中從而完成整個

計算

任務要求:

1、請根據(jù)題干要求,通過Go語言完成試題

2、填寫完成后,請點擊保存按鈕,完成試題的填寫

3、請把你編寫的代碼,保存到下面代碼編輯器中,作為代碼數(shù)據(jù)的留存。

1、正整數(shù)從100至I」200(100-200)偶數(shù)有多少個?

2、正整數(shù)從100到200(100-200)不能被3整除的數(shù)的和是多少

代碼區(qū)

4、Go:時間的轉換

Go:時間的轉換7.5分

時間戳G。語言中time包為我們提供了一個數(shù)據(jù)類型time.Time(作為值使用)以及

顯示和測量時間和日期的功能函數(shù)。

任務要求:

1、請根據(jù)題干要求,通過Go語言完成試題

2、填寫完成后,請點擊保存按鈕,完成試題的填寫

3、請把你編寫的代碼,保存到下面代碼編輯器中,作為代碼數(shù)據(jù)的留存。

請把當前時間戳1666002176,轉化時間是多少(必須輸入數(shù)字),年?月

?日_________?時?分?秒?

題目B:時間戳(1663012276)與時間戳(1638413573),請計算兩個時間戳

之間相差的_________日。

5、Go:區(qū)塊鏈UTXO交易模型

Go:區(qū)塊鏈UTXO交易模型8.5分

區(qū)塊鏈的交易模型也簡稱為UTXO(unspenttransactionoutput),全稱是未花費的交

易輸出,一次交易如果有余額,就有未花費的交易輸出,如果沒有余額,那么交易輸入中存

的就都是已花費的交易輸出。所以,所有未花費的交易輸出加起來,就是當前賬戶的余額。

題目要求:

L已經(jīng)提供了A、B、C、D的區(qū)塊鏈錢包地址

2、請根據(jù)下方交易的類型,填寫UTXO模型內(nèi)容

A錢包地址:B錢包地址:C錢包地址:D錢包地址:

lMJCRVk83vZD6RZ53xtpNH<MJNe46V3?F814ZM3zX72hirAwxjHY2RVSYwdJRTztikJaSIKZfqmKLUCEkSrslOdUVkaWFjmWBZKxaylGhBFsMTSg38VbUoEzouuVv8LlS4XC\vHmh

第一筆交易:D打包記賬獲得30第二第交易:C打包記賬獲得50第三筆交易:D轉世給C10

交易ID:TXidl交易ID:TXid2交易ID:TXid3

go??l:0

WtPiXTndMMbod

mrhdex0mti心

rp4AdifWJ

tXMCM:

bOjto/tbS!

至0gl:0

由ue心

(Mp.tAdlrr$$

6、Go:區(qū)塊鏈MerkleTree

Go:區(qū)塊鏈MerkleTree13分

任務說明:Merkle根,是由區(qū)塊主體中所有交易的哈希值再逐級兩兩哈希計算出來的

一個數(shù)值,用于檢驗一筆交易是否在這個區(qū)塊中存在.Merkle是一種二叉樹,由一組

葉子結點、一組中間節(jié)點和一個根節(jié)點構成,根據(jù)默克爾樹的構建特性和原理分析,完

成下方Merkle二叉樹的模型。

7、Go:區(qū)塊鏈編碼算法

Go:區(qū)塊鏈編碼算法10分

算法在區(qū)塊鏈中普遍應用任務要求:

1、請根據(jù)題干要求,通過Go語言完成試題

2、填寫完成后,請點擊保存按鈕,完成試題的填寫

3、請把你編寫的代碼,保存到下面代碼編輯器中,作為代碼數(shù)據(jù)的留存。

1、Base58是一種基于文本的二進制編碼,安裝base58標準包命令是:

2、2、msg:="知鏈科技。通過base58編碼以后的值是

代我區(qū)

8、Go:區(qū)塊鏈存儲文件

Go:區(qū)塊鏈存儲文件16分

通過區(qū)塊鏈存儲機制了解區(qū)塊鏈存儲機制的多樣化方法以及在其中的結構本質(zhì),認知到

區(qū)塊鏈存儲機制的實現(xiàn)過程。

1、請下載本題提供的源碼

2、打開編輯器,閱讀并補全源碼,并運行區(qū)塊鏈存儲文件源碼,其中BlockChain.dat

存儲了區(qū)塊鏈的區(qū)塊信息

3、請解析區(qū)塊鏈的區(qū)塊信息,回答以下問題

4、請把補全的核心代碼粘貼到下方代碼區(qū),作為代碼留存

試題A:

請下載本試題提供的試題源碼壓縮包文件,回答下面問題

1、當前文件中,存儲區(qū)塊鏈文件的文件名字是

2、區(qū)塊鏈(Block)結構體中,區(qū)塊Hash(Hash)數(shù)據(jù)類型格式是

3、試題B:

請根據(jù)提供的試題源碼,補充部分源碼,解析區(qū)塊鏈存儲文件,回答一下問題

1、要想解析區(qū)塊鏈存儲文件,需要先打包go文件,下面哪個命令可以進行打包,并

生成運行文件.

2、2、在。sCli.g。文件中,打印區(qū)塊鏈命令是

代碼區(qū)

9、Go:RSA算法

Go:RSA算法10分

非對稱加密算法指加密和解密使用不同密鑰的加密算法,也稱為公私鑰加密。

RSA是目前計算機密碼學中最經(jīng)典算法,也是目前為止使用最廣泛的數(shù)字簽名算法,

RSA數(shù)字簽名算法的密鑰實現(xiàn)與RSA的加密算法是一樣的,算法的名稱都叫RSA。

HowRSAEncryptionWorks

罩一置f圖窗,囿一罩

PlaintextCipheredDecrypted

Reci,ent

Senderdata.Data.PlaintextP

data

PublicKeyPrivateKey

題目要求:

L請下載本題提供的源碼壓縮包

2、文件壓縮包里面包含公鑰私鑰文件

3、請使用私鑰公鑰文件,回答下面問題

4、請把補全的核心代碼粘貼到下方代碼區(qū),作為代碼留存

同學A通過私鑰數(shù)字簽名得到了簽名信息:

signMsg:=

"EtP98oXA120RKU/NBYAk0pkdo2PrSbJA6NTYVPYQzPjm+PN6aaRqSkAtuw8m

kGvnVBTppS2DJPSHp66CnvJQ2A=="

同學B接受拿到了明文信息:

forMsg:="區(qū)塊鏈人才"

請問B同學通過公鑰驗簽,3僉證結果是

請下載本試題提供的源碼回答下面問題:

1、請問源碼文件中,私鑰是文件。

2、請問源碼文件中,公鑰是文件。

代碼區(qū)

10、Go:區(qū)塊鏈錢包地址

Go:區(qū)塊鏈錢包地址12分

任務說明:公鑰和私鑰公鑰加密技術中,公鑰和私鑰成對出現(xiàn),公鑰加密的東西可以

拿私鑰解開,私鑰加密的東西可以用公鑰解開。兩者的關系,大家可以想象成一個帶鎖

的盒子和一把鑰匙之間的關系。這個特性用來加密和簽名。錢包地址的生成區(qū)塊鏈世

界幾個關鍵的信息是按照這個順序生成的:先生成私鑰,再由私鑰算出公鑰,再由公鑰

經(jīng)過一系列哈希算出錢包地址。任務要求:

1、請根據(jù)題干要求,通過Go語言完成試題

2、填寫完成后,請點擊保存按鈕,完成試題的填寫

3、請把你編寫的代碼,保存到下面代碼編輯器中,作為代碼數(shù)據(jù)的留存。

區(qū)塊鏈錢包地址生成算法:先生成再由__________算出再

由經(jīng)過一系列哈希算出__________。

地址的生產(chǎn)

publicKey

npemdl60(sha256(publicKey))

1,丐匕FIS6a2*工£2百《Tnpem_

publicKeyHash

VersionpublicKeyHash

2lbyte$Data2lbytesData

$ha256{sh4256(2lbytesData))

cneckSum

i

麗心”

b>ie58()

I

address

五、智能合約實戰(zhàn)

1、編寫智能合約

題目描述:根據(jù)開發(fā)文檔分析ItemSharing.sol文件中的智能合約,在正確的位

置填寫代碼實現(xiàn)物品共享合約,將結果保存上傳到考試平臺并編譯智能合約。

某公司打算開發(fā)區(qū)塊鏈物品共享系統(tǒng),該系統(tǒng)主要提供出租者可以共享物品

數(shù)據(jù),租借者也可以進行租借及歸還,在進行系統(tǒng)開發(fā)時,需要完成合約的編寫

與編譯。

任務要求:以下是物品共享合約要實現(xiàn)的功能,請根據(jù)“開發(fā)文檔”,在正

確的位置填寫代碼實現(xiàn)物品共享合約,將結果保存上傳到考試平臺并編譯智能合

約。

功能對應名稱

上傳新物品setitem

租賃物品getltem

歸還物品returnlte

查詢商品idgetltemToName

獲得租借信息getltemToId

獲得起始租借時間getReturnTime

獲得物品數(shù)量getTheNum

獲得物品信息getTheltem

獲得租借人信息getRenter

1>=0.0.0;

2

3ItemSharing(4

F

5addresspublicovnet;〃合約所行者

6

7~~//租借人信息

8structrenter{

9addresspayablearr;〃租借人地址

10uintleasetime;

11}

12

13//物品O

14structitem{

15addresspayablecreate;//汰人,

16stringitemName;〃物品名旃

17uintitemPrice;〃物"分的

18uintitemDeposit;〃物4卷為

19bytesitemHash///,,哈希

20renterren;〃租fS:A信息

21boolynren;〃g查

22)

23

24uint[]itemids;//

25uintMmNum;〃物品數(shù)量

26

27item。items;〃存序物用

28mapping(string=>uint)nameToid;〃0名對短汨

29

30

31

32constructor(){

33owner=________;

34)

35

36〃上傳新物品

37functionsetltem(stringmemoryitemName,uintitemPrice,uintitemDeposit,bytes

memoryitemHash)publicreturns(uint){

38〃生成物品,保存新物品的物品信息

39_____________________newltem;

40newltem.create=msg.sender;

41newltem.itemName=_____________;

42newltem.itemPrice=itemPrice;

43newltem.itemDeposit=itemDeposit;

44newltem.itemHash=itemHash;

45newltem.ynrer=false;

46

47〃存儲物品姓名、記及數(shù)量

48items.push(newltem);

49itemids.push(_____________);

50nameIbid[itemName]=itemNum;

51itemNum++;

52

53returnitemNum;

54)

55

56〃火力勿忘

57functiongetltemfuintid,addresspayableren,uintdatetamp)publicpayable

returns(bool){

58

59itemmemorytemp=items[id];

60

61if(temp.ynren)

62returnfalse;

63if(temp.create==ren)

64returnfalse;

65if(ren.balance<temp.itemDeposit)

66returnfalse;

67

68items[id].ynrer=________;

69〃保存租借人、租借時間、物品押金

70items[id].ren.leasetime=datetamp;

71items[id].ren.leasetime=datetamp;

72

73items[id].ren.arr.transfer(temp.itemDeposit);

74

75returntrue;

76)

77

78

79functionreturnltem(uintid,addresspayableren)publicpayablereturns(bool){

80

81itemmemorytemp=items[id];

82

83if(ltemp.ynren)

84return____________;

85

86items[id].ynrer=false;

87items[id].ren.arr=ren;

88

89items[id].ren.leasetime=0;

90

91items[id].create.transfer(msg.value);

92items[id].ren.arr.transfer(temp.itemDeposit-msg.value);

93

94returntrue;

95)

96

97//根據(jù)商品名稱查泡商品id

98functiongetltemToName(________________)publicviewreturns(uint){

99returnnameToid[name];

100}

101

102〃根據(jù)商品id獲得租借信息

103functiongetltemToldfuintid)publicviewreturns(bool){

104returnitems[ic].ynren;

105}

106

107

108functiongetReturnTime(uintid)publicviewreturns(uint){

109if(!items[id].ynren)

110return0;

111returnblock.timestamp-items[id].ren.leasetime;

112}

113

114

115functiongetltemNum()publicviewreturns(uint){

116___________________________

117}

118

119〃根據(jù)物品id獲得物乩信息

120functiongetTheltem(____________________)publicviewreturns(uintzaddress,string

memory,uint,uint,bytesmemory,bool){

121return(id,items[id].create,item$[id].itemName;items[id].itemPrice,

items[id].itemDeposit,items[id].itemHash,items[id].ynren);

122}

123

124

125functiongetRenter(uintid)publicviewretums(uintz________,uint){

126return(id,iteTis[id].ren.arr,items[id].ren.leasetime);

127)

128)

2、部署智能合約

題目描述:根據(jù)智能合約源碼及下方提示文字填寫初始化參數(shù),完成智能

合約的部署。

智能合約在開發(fā)完成后,需要部署才能上鏈。智能合約部署到百度超級鏈中

時需要初始化參數(shù)。

任務要求:在進行合約部署上鏈時,需要填寫合約的初始化參數(shù),請通過對

智能合約源碼的解讀,填寫物品共享合約的初始化參數(shù),完成合約的部署上鏈。

3、調(diào)用智能合約

題目描述:根據(jù)開發(fā)文檔分析并補全XuperChainApiController.java文件中

的調(diào)用代碼,將結果保存上傳到考試平臺并編譯運行代碼,啟動智能合約調(diào)用界

面,實現(xiàn)智能合約的運行。

為了在鏈上調(diào)用智能合約,需要讀取智能合約的狀態(tài)、數(shù)據(jù)等,最終調(diào)用合

約的方法。

任務要求:當調(diào)用智能合約時,要求從導入信息、調(diào)用接口、賬戶keys等

幾個方面的信息實現(xiàn)智能合約的調(diào)用,參考以下表格完成智能合約調(diào)用代碼的實

現(xiàn),將結果保存上傳到考試平臺并編譯運行代碼,啟動智能合約調(diào)用界面,實現(xiàn)

智能合約的運行。

功能詳情

KEYS_PATHsrc/main/resources/keys

CODE_PATHsrc/main/resources/contract/

CLIENT_URL:37101

調(diào)用錄入文件信息的接口addContractlnterface

調(diào)用查詢文件信息的接口queryContractlnterface

工package.api,

2

Simportcom.baidu.xuper.cpi.Account;

4importcom.baidu.xuper.cpi.Transaction;

Simportcom.baidu.xuper.cpi.XuperClient;

6importnet.sf.json.JSONObject;

7importmons.logging.log;

8importmons.logging.LogFactory;

夕importorg.springframework.stereotype.Controller;

工。importorg.springframework.web.bind.annotation.RequestMapping;

工工importorg.springframework.web.bind.annotation.RequestMethod;

Simportorg.springframework.web.bind.annotation.RequestParam;

-importorg.springframework.web.bind.annotation.ResponseBody;

14

iSimportjava.math.Biginteger;

16importjava.util.HashMap;

i/importjava.util.Map;

工鈍Control1er

2.^^RequestMappingf'/xuperChainApiController")

2.1publicclassXuperChainApiController{

22

2.3privatestaticfinalLoglog=

LogFactory.getLog(XuperChainApiControllor.class);

24〃導入日志

25publicstaticfinalStringKEYS_PATH=;

publicstaticfinalStringCONTRACT_ACCOUNT="XC2022081600000001@xuper";

27publicstaticfinalStringCODE_PATH=;

publicstaticfinalStringCLIENT_URL=;

24〃調(diào)用上傳新物品的接口

@RequestMapping(value=,method=RequestMethod.POSTproduces=

"application/json;charset=utf-8")

@ResponseBody

publicMap<String,Object>addContractlnterface(@RequestParamJSONCbject

parameterJson){

Map<StringzObject>resultMap=newHashMapof);

34try{

3SXuperClientclient=newXuperClient(CLIENT_URL);

36

37//導入合約賬戶的kyes

Accountaccount=Account.create(KEYS_PATH);

account.setContractAccount(CONTRACT_^CCOUNT);

40//解析請求參數(shù)

Map<String,String>contractParams=JSONObject.fromObject(parameterJson);

42

43

44TransactioninvokeTx=

client.invokeEVMContract(,,,

_______________________);

45resultMap.putC'code",200);

resultMap.putf'data",invokeTx.getContrsctResponse().getBodyStr());

47resultMap.put("message"J添力口成功");

48}catch(Exceptione){

49log.error「操作失敗",e);

50resultMap.put("code"z500);

51resultMap.put("message"ze.getMessage());

52.returnresultMap;

5-3)

54returnresultMap;

55)

5(0

57〃調(diào)用租賃新物品的接口

@RequestMapping(value="/addContractlnterface'\method=RequestMethod.POST,

produces="application/json;charset=utf-8")

59@ResponseBody

publicMap<String,Object>addContractlnterface(@RequestParamJSONCbject

parameterJson){

Map<String,Object>resultMap=newHashMap<>();

62try{

63XuperClie

溫馨提示

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

最新文檔

評論

0/150

提交評論