CN114116134B 智能合約部署和執(zhí)行方法、設(shè)備及存儲介質(zhì) (上海簡蘇網(wǎng)絡(luò)科技有限公司)_第1頁
CN114116134B 智能合約部署和執(zhí)行方法、設(shè)備及存儲介質(zhì) (上海簡蘇網(wǎng)絡(luò)科技有限公司)_第2頁
CN114116134B 智能合約部署和執(zhí)行方法、設(shè)備及存儲介質(zhì) (上海簡蘇網(wǎng)絡(luò)科技有限公司)_第3頁
CN114116134B 智能合約部署和執(zhí)行方法、設(shè)備及存儲介質(zhì) (上海簡蘇網(wǎng)絡(luò)科技有限公司)_第4頁
CN114116134B 智能合約部署和執(zhí)行方法、設(shè)備及存儲介質(zhì) (上海簡蘇網(wǎng)絡(luò)科技有限公司)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

(19)國家知識產(chǎn)權(quán)局(12)發(fā)明專利(74)專利代理機構(gòu)上海隆天律師事務(wù)所31282專利代理師萬鐵占擬機的智能合約之上實現(xiàn)對多種合約語言實現(xiàn)獲取基于目標合約語言的合約部署交易,目標合約語言對應于多種虛擬獲取基于目標合約語言的合約部署交易,目標合約語言對應于多種虛擬機實例中的目標合約虛擬機實例根據(jù)合約部署交易在區(qū)塊鏈中調(diào)用第一智能合約在WASM虛擬機中執(zhí)行第一智能合約,通過執(zhí)行第一智能合約解析合約部署交易,得到基于目標合約語言的第二智能合約將第二智能合約部署到區(qū)塊鏈上21.一種基于區(qū)塊鏈平臺的智能合約部署方法,其特征在于,在所述區(qū)塊鏈平臺中部署WASM虛擬機,在所述WASM虛擬機中部署分別支持不同區(qū)塊鏈平臺的合約語言的多種合約虛獲取基于目標合約語言的合約部署交易,所述目標合約語言對應于所述多種虛擬機實例中的目標合約虛擬機實例;根據(jù)所述合約部署交易在所述區(qū)塊鏈中調(diào)用所述第一智能合約;在所述WASM虛擬機中執(zhí)行所述第一智能合約,通過執(zhí)行所述第一智能合約解析所述合約部署交易,得到基于所述目標合約語言的第二智能合約;將所述第二智能合約部署到所述區(qū)塊鏈上。2.根據(jù)權(quán)利要求1所述的基于區(qū)塊鏈平臺的智能合約部署方法,其特征在于,所述通過執(zhí)行所述第一智能合約解析所述合約部署交易,得到基于所述目標合約語言的第二智能合通過執(zhí)行所述第一智能合約解析所述合約部署交易,得到基于所述目標合約語言的字節(jié)碼合約文件、以及利用所述字節(jié)碼文件形成的所述第二智能合約。3.一種基于區(qū)塊鏈平臺的智能合約執(zhí)行方法,其特征在于,在所述區(qū)塊鏈平臺中部署虛擬機中部署分別支持不同合約語言的多種合約虛擬機實例,并在區(qū)塊鏈中部署所述WASM虛擬機所支持的第一智能合約、及所述多種合約虛擬機實例分別支持的多種實例智能合約,所述方法包括:在所述區(qū)塊鏈中對所述多種實例智能合約中的第二智能合約及所述第一智能合約發(fā)起調(diào)用;在所述WASM虛擬機中執(zhí)行所述第一智能合約,通過執(zhí)行所述第一智能合約在所述多種合約虛擬機實例中調(diào)用支持所述第二智能合約的目標合約虛擬機實例,利用所述目標合約虛擬機實例執(zhí)行所述第二智能合約,輸出執(zhí)行結(jié)果;將所述執(zhí)行結(jié)果上傳到區(qū)塊鏈。4.根據(jù)權(quán)利要求3所述的基于區(qū)塊鏈平臺的智能合約執(zhí)行方法,其特征在于,在所述WASM虛擬機中執(zhí)行所述第一智能合約之前,所述方法還包括:利用交易實例對調(diào)用的所述第二智能合約進行實例化,獲得合約交易;利用所述合約交易對調(diào)用的所述第一智能合約進行實例化,獲得虛擬機實例調(diào)用交在所述WASM虛擬機中執(zhí)行所述第一智能合約,通過執(zhí)行所述第一智能合約在所述多種合約虛擬機實例中調(diào)用支持所述第二智能合約的目標合約虛擬機實例,利用所述目標合約虛擬機實例執(zhí)行所述第二智能合約,包括:在所述WASM虛擬機中執(zhí)行所述虛擬機實例調(diào)用交易,調(diào)用支持所述第二智能合約的目標合約虛擬機實例,利用所述目標合約虛擬機實例執(zhí)行所述合約交易。5.根據(jù)權(quán)利要求4所述的基于區(qū)塊鏈平臺的智能合約執(zhí)行方法,其特征在于,利用交易實例對調(diào)用的所述第二智能合約進行實例化,獲得合約交易,包括:在調(diào)用的所述第二智能合約為字節(jié)碼文件的情況下,利用交易實例對所述字節(jié)碼文件進行實例化,獲得基于字節(jié)碼實現(xiàn)的合約交易;利用所述目標合約虛擬機實例執(zhí)行所述合約交易,包括:3利用所述目標合約虛擬機實例將所述字節(jié)碼轉(zhuǎn)譯為機器碼,并執(zhí)行所述機器碼。6.根據(jù)權(quán)利要求4所述的基于區(qū)塊鏈平臺的智能合約執(zhí)行方法,其特征在于,利用所述合約交易對調(diào)用的所述第一智能合約進行實例化,獲得虛擬機實例調(diào)用交易,包括:在調(diào)用的所述第一智能合約為字節(jié)碼文件的情況下,利用所述合約交易對所述字節(jié)碼文件進行實例化,獲得基于字節(jié)碼的虛擬機實例調(diào)用交易;在所述WASM虛擬機中執(zhí)行所述虛擬機實例調(diào)用交易,調(diào)用支持所述第二智能合約的目利用所述WASM虛擬機將所述字節(jié)碼轉(zhuǎn)譯為機器碼,并執(zhí)行所述機器碼,通過執(zhí)行所述機器碼調(diào)用支持所述第二智能合約的目標合約虛擬機實例。7.根據(jù)權(quán)利要求3所述的基于區(qū)塊鏈平臺的智能合約執(zhí)行方法,其特征在于,所述方法還包括:在所述區(qū)塊鏈中對所述多種實例智能合約中的第二智能合約和第一智能合約發(fā)起調(diào)用之前,接收交易發(fā)起方基于所述第二智能合約的交易請求;所述在區(qū)塊鏈中對所述多種實例智能合約中的第二智能合約發(fā)起調(diào)用,包括:響應于所述交易請求,在所述區(qū)塊鏈中對所述多種實例智能合約中的第二智能合約發(fā)8.一種基于區(qū)塊鏈平臺的智能合約部署裝置,其特征在于,在所述區(qū)塊鏈平臺中部署虛擬機中部署分別支持不同合約語言的多種合約虛擬機實例,并第一獲取模塊,獲取基于目標合約語言的合約部署交易,所述目標合約語言對應于所述多種虛擬機實例中的目標合約虛擬機實例;第一調(diào)用模塊,根據(jù)所述合約部署交易在所述區(qū)塊鏈中調(diào)用所述第一智能合約;第一執(zhí)行模塊,在所述WASM虛擬機中執(zhí)行所述第一智能合約,通過執(zhí)行所述第一智能合約解析所述合約部署交易,得到基于所述目標合約語言的第二智能合約;部署模塊,將所述第二智能合約部署到所述區(qū)塊鏈上。9.一種基于區(qū)塊鏈平臺的智能合約執(zhí)行裝置,其特征在于,在所述區(qū)塊鏈平臺中部署虛擬機中部署分別支持不同合約語言的多種合約虛擬機實例,并在區(qū)塊鏈中部署所述WASM虛擬機所支持的第一智能合約、及所述多種合約虛擬機實例所分別支持的多種實例智能合約,所述裝置包括:第二調(diào)用模塊,在所述區(qū)塊鏈中對所述多種實例智能合約中的第二智能合約及所述第一智能合約發(fā)起調(diào)用;第二執(zhí)行模塊,在所述WASM虛擬機中執(zhí)行所述第一智能合約,通過執(zhí)行所述第一智能合約在所述多種合約虛擬機實例中調(diào)用支持所述第二智能合約的目標合約虛擬機實例,利用所述目標合約虛擬機實例執(zhí)行所述第二智能合約,輸出執(zhí)行結(jié)果;上傳模塊,將所述執(zhí)行結(jié)果上傳到區(qū)塊鏈。處理器;存儲器,其中存儲有所述處理器的可執(zhí)行指令;其中,所述處理器配置為經(jīng)由執(zhí)行所述可執(zhí)行指令來執(zhí)行權(quán)利要求1至2任意一項所述4基于區(qū)塊鏈平臺的智能合約部署方法的步驟、或權(quán)利要求3-7任意一項所述基于區(qū)塊鏈平臺的智能合約執(zhí)行方法的步驟。11.一種計算機可讀存儲介質(zhì),用于存儲程序,其特征在于,所述程序被處理器執(zhí)行時實現(xiàn)1至2任意一項所述基于區(qū)塊鏈平臺的智能合約部署方法的步驟、或權(quán)利要求3-7任意一項所述基于區(qū)塊鏈平臺的智能合約執(zhí)行方法的步驟。5技術(shù)領(lǐng)域[0001]本發(fā)明涉及區(qū)塊鏈技術(shù)領(lǐng)域,具體地說,涉及智能合約部署和執(zhí)行方法、設(shè)備及存儲介質(zhì)。背景技術(shù)[0002]虛擬機VM(VirtualMachine),在計算機科學中的體系結(jié)構(gòu)里,是指一種特殊的軟件,可以在計算機平臺和終端用戶之間創(chuàng)建一種環(huán)境,而終端用戶則是基于虛擬機這個軟件所創(chuàng)建的環(huán)境來操作其它軟件。[0003]伴隨區(qū)塊鏈出現(xiàn)衍生出來的區(qū)塊鏈虛擬機首次被以太坊引入到區(qū)塊鏈技術(shù)集,并被擴展到基于其他合約語言的虛擬機中。[0004]區(qū)塊鏈虛擬機是智能合約代碼的執(zhí)行器。具體地,當智能合約被編譯成二進制文件后,被部署到區(qū)塊鏈上,并通過區(qū)塊鏈平臺部署的區(qū)塊鏈虛擬機支持合約的執(zhí)行與調(diào)用,調(diào)用時根據(jù)合約地址獲取到智能合約代碼,生成環(huán)境后載入到區(qū)塊鏈虛擬機中運行,修改[0005]但是,各區(qū)塊鏈系統(tǒng)在實現(xiàn)區(qū)塊鏈虛擬機時,是與智能合約的合約語言相關(guān)的,每一種區(qū)塊鏈虛擬機能夠?qū)ο鄳霞s語言的智能合約進行執(zhí)行與調(diào)用,這也導致使用智能合約實現(xiàn)的項目生態(tài)的隔離。發(fā)明內(nèi)容[0006]針對現(xiàn)有技術(shù)中的問題,本發(fā)明的目的在于提供智能合約部署和執(zhí)行方法、設(shè)備及存儲介質(zhì),實現(xiàn)跨區(qū)塊鏈系統(tǒng)的智能合約融合復用。[0007]本發(fā)明的實施例提供一種基于區(qū)塊鏈平臺的智能合約部署方法,在區(qū)塊鏈平臺中虛擬機中部署分別支持不同合約語言的多種合約虛擬機實例,并[0008]獲取基于目標合約語言的合約部署交易,目標合約語言對應于多種虛擬機實例中的目標合約虛擬機實例;[0009]根據(jù)合約部署交易在區(qū)塊鏈中調(diào)用第一智能合約;[0010]在WASM虛擬機中執(zhí)行第一智能合約,通過執(zhí)行第一智能合約解析合約部署交易,得到基于目標合約語言的第二智能合約;[0011]將第二智能合約部署到區(qū)塊鏈上。[0012]可選地,通過執(zhí)行第一智能合約解析合約部署交易,得到基于目標合約語言的第[0013]通過執(zhí)行第一智能合約解析合約部署交易,得到基于目標合約語言的字節(jié)碼合約文件、以及利用字節(jié)碼文件形成的所述第二智能合約。[0014]本發(fā)明實施例還提供一種基于區(qū)塊鏈平臺的智能合約執(zhí)行方法,在區(qū)塊鏈平臺中虛擬機中部署分別支持不同合約語言的多種合約虛擬機實例,并6在區(qū)塊鏈中部署WASM虛擬機所支持的第一智能合約、及多種合約虛擬機實例所分別支持的[0015]在區(qū)塊鏈中對多種實例智能合約中的第二智能合約及第一智能合約發(fā)起調(diào)用;[0016]在WASM虛擬機中執(zhí)行第一智能合約,通過執(zhí)行第一智能合約在多種合約虛擬機實例中調(diào)用支持第二智能合約的目標合約虛擬機實例,利用目標合約虛擬機實例執(zhí)行第二智[0017]將執(zhí)行結(jié)果上傳到區(qū)塊鏈。[0019]利用交易實例對調(diào)用的第二智能合約進行實例化,獲得合約交易;[0020]利用合約交易對調(diào)用的第一智能合約進行實例化,獲得虛擬機實例調(diào)用交易;[0021]在WASM虛擬機中執(zhí)行第一智能合約,通過執(zhí)行第一智能合約在多種合約虛擬機實例中調(diào)用支持第二智能合約的目標合約虛擬機實例,利用目標合約虛擬機實例執(zhí)行第二智[0022]在WASM虛擬機中執(zhí)行虛擬機實例調(diào)用交易,調(diào)用支持第二智能合約的合約類型的目標合約虛擬機實例,利用目標合約虛擬機實例執(zhí)行合約交易。[0024]在調(diào)用的第二智能合約為字節(jié)碼文件的情況下,利用交易實例對字節(jié)碼文件進行實例化,獲得基于字節(jié)碼實現(xiàn)的合約交易;[0026]利用目標合約虛擬機實例將字節(jié)碼轉(zhuǎn)譯為機器碼,并執(zhí)行機器碼。[0027]可選地,利用合約交易對調(diào)用的第一智能合約進行實例化,獲得虛擬機實例調(diào)用[0028]在調(diào)用的第一智能合約為字節(jié)碼文件的情況下,利用合約交易對字節(jié)碼文件進行實例化,獲得基于字節(jié)碼的虛擬機實例調(diào)用交易;[0029]在WASM虛擬機中執(zhí)行所述虛擬機實例調(diào)用交易,調(diào)用支持第二智能合約的目標合[0030]利用WASM虛擬機將所述字節(jié)碼轉(zhuǎn)譯為機器碼,并執(zhí)行機器碼,通過執(zhí)行機器碼調(diào)用支持第二智能合約的目標合約虛擬機實例。[0032]在區(qū)塊鏈中對多種實例智能合約中的第二智能合約和第一智能合約發(fā)起調(diào)用之前,接收交易發(fā)起方基于第二智能合約的交易請求;[0033]在區(qū)塊鏈中對多種實例智能合約中的第二智能合約發(fā)起調(diào)用,包括:[0034]響應于交易請求,在區(qū)塊鏈中對多種實例智能合約中的第二智能合約發(fā)起調(diào)用,還調(diào)用第一智能合約。[0035]本發(fā)明實施例還提供一種基于區(qū)塊鏈平臺的智能合約部署裝置,在區(qū)塊鏈平臺中虛擬機中部署分別支持不同合約語言的多種合約虛擬機實例,并[0036]第一獲取模塊,獲取基于目標合約語言的合約部署交易,目標合約語言對應于多種虛擬機實例中的目標合約虛擬機實例;7[0037]第一調(diào)用模塊,根據(jù)合約部署交易在區(qū)塊鏈中調(diào)用第一智能合約;[0038]第一執(zhí)行模塊,在WASM虛擬機中執(zhí)行第一智能合約,通過執(zhí)行第一智能合約解析合約部署交易,得到基于目標合約語言的第二智能合約;[0039]部署模塊,將第二智能合約部署到區(qū)塊鏈上。[0040]本發(fā)明實施例還提供一種基于區(qū)塊鏈平臺的智能合約執(zhí)行裝置,在區(qū)塊鏈平臺中虛擬機中部署分別支持不同合約語言的多種合約虛擬機實例,并在區(qū)塊鏈中部署WASM虛擬機所支持的第一智能合約、及多種合約虛擬機實例所分別支持的[0041]第二調(diào)用模塊,在所述區(qū)塊鏈中對所述多種實例智能合約中的第二智能合約及所述第一智能合約發(fā)起調(diào)用;[0042]第二執(zhí)行模塊,在WASM虛擬機中執(zhí)行第一智能合約,通過執(zhí)行第一智能合約在多種合約虛擬機實例中調(diào)用支持第二智能合約的目標合約虛擬機實例,利用目標合約虛擬機實例執(zhí)行第二智能合約,輸出執(zhí)行結(jié)果;[0043]上傳模塊,將執(zhí)行結(jié)果上傳到區(qū)塊鏈。[0046]存儲器,其中存儲有處理器的可執(zhí)行指令;[0047]其中,處理器配置為經(jīng)由執(zhí)行可執(zhí)行指令來執(zhí)行上述基于區(qū)塊鏈平臺的智能合約部署方法的步驟、或基于區(qū)塊鏈平臺的智能合約執(zhí)行方法的步驟。[0048]本發(fā)明的實施例還提供一種計算機可讀存儲介質(zhì),用于存儲程序,程序被執(zhí)行時實現(xiàn)上述基于區(qū)塊鏈平臺的智能合約部署方法的步驟、或基于區(qū)塊鏈平臺的智能合約執(zhí)行方法的步驟。[0049]本發(fā)明的目的在于提供基于區(qū)塊鏈平臺的智能合約部署和執(zhí)行方法、設(shè)備及存儲介質(zhì),通過在WASM虛擬機部署支持多種合約語言的合約虛擬機實例,在區(qū)塊鏈上部署對應該多種合約語言的第二智能合約,在接收到對任意一種合約語言的第二智能合約的調(diào)用請求時,調(diào)用第一調(diào)用能夠支持第二智能合約的合約類型的區(qū)塊鏈合約虛擬機實例來執(zhí)行第二智能合約,將執(zhí)行結(jié)果存儲到區(qū)塊鏈上。利用本發(fā)明實施例的方案,通過在WASM虛擬機中實現(xiàn)多種具體的合約虛擬機實例,從而可以在WASM虛擬機的智能合約之上實現(xiàn)對多種合約語言實現(xiàn)的智能合約的部署和調(diào)用,而無需對區(qū)塊鏈底層架構(gòu)進行適配重構(gòu),本發(fā)明實施例在實現(xiàn)跨區(qū)塊鏈智能合約融合復用方面具有較高可行性。附圖說明[0050]通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯。[0051]圖1是本發(fā)明實施例提供的基于區(qū)塊鏈平臺的WASM虛擬機結(jié)構(gòu)示意圖;[0052]圖2是本發(fā)明實施例提供的基于區(qū)塊鏈平臺的智能合約部署方法的流程圖;[0053]圖3是本發(fā)明實施例提供的基于區(qū)塊鏈平臺的智能合約執(zhí)行方法的流程圖之一;[0054]圖4是本發(fā)明實施例提供的基于區(qū)塊鏈平臺的智能合約執(zhí)行方法的流程圖之二;[0055]圖5是本發(fā)明實施例提供的基于區(qū)塊鏈平臺的智能合約執(zhí)行方法的流程圖之三;8[0056]圖6是本發(fā)明實施例提供的基于區(qū)塊鏈平臺的智能合約部署模塊示意圖;[0057]圖7是本發(fā)明實施例提供的基于區(qū)塊鏈平臺的智能合約執(zhí)行模塊示意圖之一;[0058]圖8是本發(fā)明實施例提供的基于區(qū)塊鏈平臺的智能合約執(zhí)行模塊示意圖之二;[0059]圖9是本發(fā)明實施例提供的基于區(qū)塊鏈平臺的智能合約執(zhí)行模塊示意圖之三;[0060]圖10是本發(fā)明的電子設(shè)備結(jié)構(gòu)示意圖。具體實施方式[0061]現(xiàn)在將參考附圖更全面地描述示例實施方式。然而,示例實施方式能夠以多種形式實施,且不應被理解為限于在此闡述的實施方式。相反,提供這些實施方式使本發(fā)明全面和完整,并將示例實施方式的構(gòu)思全面地傳達給本領(lǐng)域的技術(shù)人員。[0062]附圖僅為本發(fā)明的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標記表示相同或類似的部分,因而將省略對它們的重復描述。附圖中所示的一些方框圖是功能實體,不一定必須與物理或邏輯上獨立的實體相對應??梢圆捎密浖问絹韺崿F(xiàn)這些功能實體,或在一個或多個硬件轉(zhuǎn)發(fā)模塊或集成電路中實現(xiàn)這些功能實體,或在不同網(wǎng)絡(luò)和/或處理器裝置和/或微控制器裝置中實現(xiàn)這些功能實體。[0063]此外,附圖中所示的流程僅是示例性說明,不是必須包括所有的步驟。例如,有的步驟可以分解,有的步驟可以合并或部分合并,且實際執(zhí)行的順序有可能根據(jù)實際情況改性,而只是用來區(qū)分不同的組成部分。需要說明的是,在不沖突的情況下,本發(fā)明的實施例及不同實施例中的特征可以相互組合。[0064]本發(fā)明人對現(xiàn)有多種區(qū)塊鏈虛擬機進行研究,現(xiàn)在存在如下三種區(qū)塊鏈多虛擬機及合約語言融合的解決方案:[0065]長安鏈ChainMaker,提供集成多虛擬機及合約語言的開源解決方案,但這些集成的虛擬機并沒有統(tǒng)一通用流程和規(guī)范。語言虛擬機是基于Docker容器實現(xiàn)的,并不支持多合約生態(tài)。[0067]FISCO-BCOS,由開源項目以太坊重度重構(gòu)得到,其底層原生支持以太坊虛擬機EVM(EthereumVirtualMachine),沒有通用的橫向擴展接口和通用流程規(guī)范,在拓展其他技術(shù)架構(gòu)的虛擬機時,需要對底層實現(xiàn)的架構(gòu)做大量修改和適配重構(gòu)。[0068]因此,在業(yè)界尚不存在一種可行性較高的多合約融合復用解決方案。[0069]進一步思考,區(qū)塊鏈虛擬機需要適用更復雜廣泛且通用的場景,即圖靈完備性。從軟件模擬的角度來說,虛擬機是用軟件進行模擬特定機器運行的機制,而機器的輸入便是人類的代碼指令,但是從類人類的高級語言到機器可以執(zhí)行的低級語言,再到虛擬機運行指令運轉(zhuǎn)并更改狀態(tài),需要系列的處理流程。而這些差異便是區(qū)塊鏈虛擬機和傳統(tǒng)虛擬機的不同之處。[0070]本發(fā)明人注意到,在各類區(qū)塊鏈虛擬機實現(xiàn)技術(shù)中,WASM(WebAssembly)虛擬機是其中一種區(qū)塊鏈虛擬機,采用WASM實現(xiàn)。WASM是一個實驗性的低階程序語言,是關(guān)于概念的機器語言,支持采用C/C++作為實作目標進行編譯,這種特性使其能夠具有更廣泛的通用9[0071]WASM作為一種低階程序語言,不僅能用于智能合約編碼并通過WASM虛擬機實現(xiàn)對合約的執(zhí)行和調(diào)用,也能夠用于在該低階程序語言之上實現(xiàn)其他類型的區(qū)塊鏈合約虛擬機實例,使其具有解決跨區(qū)塊鏈生態(tài)的多合約融合復用的可能。[0072]因此,本發(fā)明實施例提出,在WASM虛擬機中部署多約虛擬機實例,并在區(qū)塊鏈中部署該WASM所支持的第一智能合約實現(xiàn)多種合約虛擬機實例及對應智能合約的遷移和部署。[0073]其中,第一智能合約用于定義對這些合約虛擬機實例所支持第二智能合約的部署和調(diào)用,這樣能夠在第一智能合約之上實現(xiàn)對多個合約虛擬機實例的部署和調(diào)用。[0074]在部署階段,對使用任意一種合約語言的第二智能合約的合約部署交易,可以通過調(diào)用第一智能合約并在WASM虛擬機中對合約部署交易執(zhí)行第一智能合約,解析出第二智[0075]在執(zhí)行階段,在接收到對任意一種合約語言的第二智能合約的調(diào)用請求時,調(diào)用第一智能合約和第二智能合約,通過在WASM虛擬機中執(zhí)行第一智能合約,調(diào)用能夠支持第二智能合約的合約類型的區(qū)塊鏈合約虛擬機實例來執(zhí)行第二智能合約,將執(zhí)行結(jié)果存儲到區(qū)塊鏈上。[0076]利用本發(fā)明實施例的方案,通過在WASM虛擬機中實現(xiàn)多種具體的合約虛擬機實例,從而可以在WASM虛擬機的智能合約之上實現(xiàn)對多種合約語言實現(xiàn)的智能合約的部署和調(diào)用,而無需對區(qū)塊鏈底層架構(gòu)進行適配重構(gòu),本發(fā)明實施例在實現(xiàn)跨區(qū)塊鏈智能合約融合復用方面具有較高可行性。[0077]在本發(fā)明實施例中,參考圖1,可以在WASM虛擬機100中部署分別支持不同區(qū)塊鏈平臺的合約語言的多種合約虛擬機實例,在WASM虛擬機之上進行抽象和實現(xiàn)的多實例異構(gòu)機110、基于Solidity的EVM120、Gola[0079]具體地,開發(fā)人員在獲取待移植的虛擬機官方文檔及規(guī)范的情況下,從中提取指令集定義及約束常量定義、以及編解碼及相關(guān)序列化方法實現(xiàn),得到網(wǎng)絡(luò)交易數(shù)據(jù)解析邏輯實現(xiàn),用來構(gòu)造虛擬執(zhí)行環(huán)境和交易結(jié)構(gòu)實例,作為合約虛擬機實例部署在WASM虛擬機[0080]圖2是本發(fā)明的基于區(qū)塊鏈平臺的智能合約部署方法的一種實施例的流程圖,其中區(qū)塊鏈平臺可以理解成區(qū)塊鏈系統(tǒng)的入口,用于部署WASM虛擬機,而WASM虛擬機提供多種合約虛擬機實例的運行環(huán)境,并在區(qū)塊鏈中部署WASM虛擬機所支持的第一智能合約。[0081]如圖2所示,本發(fā)明的實施例提供一種基于區(qū)塊鏈平臺的智能合約部署方法,本方法的執(zhí)行主體是區(qū)塊鏈節(jié)點。本方法包括以下步驟:[0082]步驟210:獲取基于目標合約語言的合約部署交易,目標合約語言對應于多種虛擬機實例中的目標合約虛擬機實例;[0083]步驟220:根據(jù)合約部署交易在區(qū)塊鏈中調(diào)用第一智能合約;[0084]步驟230:在WASM虛擬機中執(zhí)行第一智能合約,通過執(zhí)行第一智能合約解析合約部署交易,得到基于目標合約語言的第二智能合約;[0085]步驟240:將第二智能合約部署到區(qū)塊鏈上。[0086]在本實施例中,合約部署交易可以理解為在區(qū)塊鏈上部署基于目標合約語言的第二智能合約的交易。第一智能合約為部署第二智能合約的合約,在第一智能合約之上實現(xiàn)對多種合約虛擬機所支持智能合約的部署。[0087]在本發(fā)明實施例的應用場景中,用戶不需要在不同區(qū)塊鏈系統(tǒng)之上,分別根據(jù)該情況系統(tǒng)所支持合約語言開發(fā)多份智能合約代碼再部署,而是能夠直接通過該區(qū)塊鏈平臺在區(qū)塊鏈上部署和實現(xiàn)多份智能合約,給用戶帶來良好的使用體驗。[0088]因此,使用本發(fā)明實施例,在WASM虛擬機的智能現(xiàn)的智能合約的移植和部署,而無需對區(qū)塊鏈底層架構(gòu)進行適配重構(gòu),在實現(xiàn)跨區(qū)塊鏈智能合約融合復用方面具有較高可行性。[0089]在本發(fā)明實施例中,區(qū)塊鏈平臺提供調(diào)用第一智能合約的接口,接收對第二智能合約的合約部署交易,實現(xiàn)獲取合約部署交易的一個示例。[0090]在本發(fā)明實施例中,通過執(zhí)行第一智能合約解析合約部署交易,得到基于目標合[0091]通過執(zhí)行第一智能合約解析合約部署交易,得到基于目標合約語言的字節(jié)碼合約文件、以及利用字節(jié)碼文件形成的第二智能合約。[0092]字節(jié)碼(英語:Bytecode)通常指的是已經(jīng)經(jīng)過編譯,但與特是編碼后的數(shù)值常量、引用、指令等構(gòu)成的序列。字節(jié)碼主要為了實現(xiàn)特定軟件運行和軟件環(huán)境、與硬件環(huán)境無關(guān)。使用編譯器將源代碼編譯成字節(jié)碼,輸出字[0093]該字節(jié)碼合約文件用于,在執(zhí)行階段,對應的目標合約虛擬機實例能夠?qū)⒃撟止?jié)碼轉(zhuǎn)譯成可以直接執(zhí)行的機器碼指令。[0094]因此,合約部署交易可以包括交易發(fā)起者賬戶地址、字節(jié)碼合約文件和接口描述文件等信息。接口描述文件描述一種應用程序二進制接口,具體可以是是字節(jié)碼合約文件的源代碼編譯之后的接口文件,方便軟件工具包進行合約部署交易的構(gòu)成、合約調(diào)用交易的構(gòu)成以及執(zhí)行調(diào)用后的執(zhí)行結(jié)果的解析。[0095]在本發(fā)明實施例中,在將第二智能合約部署到區(qū)塊鏈上之前,可以將第二智能合約在區(qū)塊鏈中進行共識,待共識通過后,生成第二智能合約的合約地址并根據(jù)該合約地址上傳到區(qū)塊鏈。[0096]圖3為本發(fā)明實施例提供的基于區(qū)塊鏈平臺的智能合約執(zhí)行方法的流程圖,本方分別支持不同合約語言的多種合約虛擬機實例,并在區(qū)塊鏈中部署WASM虛擬機支持的第一智能合約、及多種合約虛擬機實例分別支持的多種實例智能合約。[0097]本方法包括如下步驟:[0098]步驟310:在區(qū)塊鏈中對多種實例智能合約中的第二智能合約及第一智能合約發(fā)起調(diào)用;[0099]步驟320:在WASM虛擬機中執(zhí)行第一智能合約,通過執(zhí)行第一智能合約在多種合約虛擬機實例中調(diào)用支持第二智能合約的目標合約虛擬機實例,利用目標合約虛擬機實例執(zhí)行第二智能合約,輸出執(zhí)行結(jié)果;[0100]步驟330:將執(zhí)行結(jié)果上傳到區(qū)塊鏈。11[0101]在本發(fā)明實施例中,智能合約執(zhí)行過程應用于具體業(yè)務(wù)交易,最終的執(zhí)行結(jié)果是基于第二智能合約的業(yè)務(wù)交易結(jié)果。[0102]在本發(fā)明實施例中,WASM虛擬機提供其他合約虛擬機的運行環(huán)境,根據(jù)第二智能合約的合約類型調(diào)用具體的目標合約虛擬機實例,由WASM虛擬機運行時實現(xiàn)的目標合約虛擬機實例解釋執(zhí)行。[0103]在這種情況下,能夠在WASM虛擬機中并行實現(xiàn)多個合約虛擬機實例運行時。[0104]在本發(fā)明實施例中,根據(jù)第二智能合約的合約地址調(diào)用第二智能合約,該第二智能合約直接作為WASM虛擬機實例的輸入,由WASM虛擬機調(diào)用模板合約虛擬機實例執(zhí)行第二智能合約。[0105]在本發(fā)明實施例中,參照圖4,基于區(qū)塊鏈平臺的智能合約執(zhí)行方法包括如下步[0106]步驟410:在區(qū)塊鏈中對多種實例智能合約中的第二智能合約及所述第一智能合約發(fā)起調(diào)用;[0107]步驟420:利用交易實例對調(diào)用的第二智能合約進行實例化,獲得合約交易;[0108]步驟430:利用所述合約交易對調(diào)用的第一智能合約進行實例化,獲得虛擬機實例調(diào)用交易;[0109]步驟440:在WASM虛擬機中執(zhí)行虛擬機實例調(diào)用交易,調(diào)用支持第二智能合約的目標合約虛擬機實例,利用目標合約虛擬機實例執(zhí)行合約交易,輸出執(zhí)行結(jié)果;[0110]步驟450:將執(zhí)行結(jié)果上傳區(qū)塊鏈。[0111]在本發(fā)明實施例中,交易實例包含提交到區(qū)塊鏈平臺的區(qū)塊鏈交易參數(shù),具體包括交易發(fā)起方信息、交易目的方信息、交易對象、交易標的等,利用這些參數(shù)對具體的第二智能合約進行實例化。[0112]在這種情況下,目標合約虛擬機實例通過執(zhí)行該合約交易,具體為基于相應的交易實例執(zhí)行智能合約設(shè)定的交易條件,輸出交易執(zhí)行結(jié)果。[0113]在本發(fā)明實施例中,利用合約交易對第一智能合約進行實例化,可以是指利用第二智能合約的合約類型對第一智能合約進行實例化。在這種情況下,WASM虛擬機通過執(zhí)行該虛擬機實例調(diào)用交易,解析出第二智能合約的合約類型,從而利用該合約類型調(diào)用支持該合約類型的目標合約虛擬機實例,并運行該目標合約虛擬機實例。[0114]在本發(fā)明實施例中,第二智能合約是以字節(jié)碼文件的形式部署在區(qū)塊鏈上。因此,利用交易實例對調(diào)用的所述第二智能合約進行實例化,獲得合約交易,包括:[0115]在調(diào)用的所述第二智能合約為字節(jié)碼文件的情況下,利用交易實例對所述字節(jié)碼文件進行實例化,獲得基于字節(jié)碼實現(xiàn)的合約交易;[0117]利用所述目標合約虛擬機實例將所述字節(jié)碼轉(zhuǎn)譯為機器碼,并執(zhí)行所述機器碼。[0118]目標合約虛擬機實例具有解釋器功能,對字節(jié)碼進行解釋轉(zhuǎn)譯成機器碼,機器碼為一系列可執(zhí)行指令,從而能夠為目標合約虛擬機實例執(zhí)行。[0119]在本發(fā)明實施例中,第一智能合約也是以字節(jié)碼形式部署在區(qū)塊鏈上。因此,利用所述合約交易對調(diào)用的所述第一智能合約進行實例化,獲得虛擬機實例調(diào)用交易,具體包[0120]在調(diào)用的第一智能合約為字節(jié)碼文件的情況下,利用所述合約交易對所述字節(jié)碼文件進行實例化,獲得基于字節(jié)碼的虛擬機實例調(diào)用交易;[0121]在所述WASM虛擬機中執(zhí)行所述虛擬機實例調(diào)用交易,調(diào)用支持所述第二智能合約[0122]利用WASM虛擬機將所述字節(jié)碼轉(zhuǎn)譯為機器碼,并執(zhí)行所述機器碼,通過執(zhí)行所述機器碼調(diào)用支持所述第二智能合約的目標合約虛擬機實例。[0123]WASM虛擬機能夠?qū)Φ谝恢悄芎霞s的字節(jié)碼進行解釋轉(zhuǎn)譯成機器碼,并執(zhí)行該機器[0124]在本發(fā)明實施例中,參考圖5,智能合約執(zhí)行方法包括如下步驟:[0125]步驟510:接收交易發(fā)起方基于所述第二智能合約的交易請求;[0126]步驟520:響應于交易請求,在所述區(qū)塊鏈中對所述多種實例智能合約中的第二智能合約發(fā)起調(diào)用,還調(diào)用所述第一智能合約;[0127]步驟530:在WASM虛擬機中執(zhí)行第一智能合約,通過執(zhí)行第一智能合約在多種合約虛擬機實例中調(diào)用支持第二智能合約的目標合約虛擬機實例,利用目標合約虛擬機實例執(zhí)[0128]步驟540:將執(zhí)行結(jié)果上傳到區(qū)塊鏈。[0129]本發(fā)明實施例的智能合約執(zhí)行方法應用于具體的交易場景。[0130]在本發(fā)明實施例中,執(zhí)行結(jié)果在上鏈之前,發(fā)送給共識節(jié)點,由共識節(jié)點進行共[0131]圖6為本發(fā)明實施例提供的基于區(qū)塊鏈平臺的智能合約部署裝置的結(jié)構(gòu)圖,本裝置可以包括:[0132]獲取模塊610,獲取基于目標合約語言的合約部署交易,目標合約語言對應于多種虛擬機實例中的目標合約虛擬機實例;[0133]第一調(diào)用模塊620,根據(jù)合約部署交易在區(qū)塊鏈中調(diào)用第一智能合約;[0134]第一執(zhí)行模塊630,在WASM虛擬機中執(zhí)行第一智能合約,通過執(zhí)行第一智能合約解析合約部署交易,得到基于目標合約語言的第二智能合約;[0135]部署模塊640,將第二智能合約部署到區(qū)塊鏈上。[0137]通過執(zhí)行所述第一智能合約解析所述合約部署交易,得到基于所述目標合約語言的字節(jié)碼合約文件、以及利用所述字節(jié)碼文件形成的所述第二智能合約。[0138]利用本發(fā)明實施例的方案,通過在WASM虛擬機中實現(xiàn)多種具體的合約虛擬機實例,從而可以在WASM虛擬機的智能合約之上實現(xiàn)對多種合約語言實現(xiàn)的智能合約的部署和調(diào)用,而無需對區(qū)塊鏈底層架構(gòu)進行適配重構(gòu),本發(fā)明實施例在實現(xiàn)跨區(qū)塊鏈智能合約融合復用方面具有較高可行性。[0139]上述模塊的實現(xiàn)原理參見基于區(qū)塊鏈平臺的智能合約部署方法中的相關(guān)介紹,此處不再贅述。[0140]圖7為本發(fā)明實施例提供的基于區(qū)塊鏈平臺的智能合約執(zhí)行裝置的結(jié)構(gòu)圖,本裝置可以包括:[0141]第二調(diào)用模塊710,在所述區(qū)塊鏈中對所述多種實例智能合約中的第二智能合約及所述第一智能合約發(fā)起調(diào)用;[0142]第二執(zhí)行模塊720,在WASM虛擬機中執(zhí)行第一智能合約,通過執(zhí)行第一智能合約在多種合約虛擬機實例中調(diào)用支持第二智能合約的目標合約虛擬機實例,利用目標合約虛擬機實例執(zhí)行第二智能合約,輸出執(zhí)行結(jié)果;[0143]上傳模塊730,將執(zhí)行結(jié)果上傳到區(qū)塊鏈。[0145]第一實例化模塊810,利用交易實例對調(diào)用的所述第二智能合約進行實例化,獲得合約交易;[0146]第二實例化模塊820,利用所述合約交易對調(diào)用的所述第一智能合約進行實例化,獲得虛擬機實例調(diào)用交易;[0147]第二執(zhí)行模塊830具體用于:[0148]在所述WASM虛擬機中執(zhí)行所述虛擬機實例調(diào)用交易,調(diào)用支持所述第二智能合約的目標合約虛擬機實例,利用所述目標合約虛擬機實例執(zhí)行所述合約交易。[0150]在調(diào)用的所述第二智能合約為字節(jié)碼文件的情況下,利用交易實例對所述字節(jié)碼文件進行實例化,獲得基于字節(jié)碼實現(xiàn)的合約交易;[0151]第二執(zhí)行模塊830具體用于:[0152]利用所述目標合約虛擬機實例將所述字節(jié)碼轉(zhuǎn)譯為機器碼,并執(zhí)行所述機器碼。[0154]在調(diào)用的所述第一智能合約為字節(jié)碼文件的情況下,利用所述合約交易對所述字節(jié)碼文件進行實例化,獲得基于字節(jié)碼的虛擬機實例調(diào)用交易;[0155]第二執(zhí)行模塊830具體用于:[0156]利用所述WASM虛擬機將所述字節(jié)碼轉(zhuǎn)譯為機器碼,并執(zhí)行所述機器碼,通過執(zhí)行所述機器碼調(diào)用支持所述第二智能合約的目標合約虛擬機實例。[0158]接收模塊910,在所述區(qū)塊鏈中對所述多種實例智能合約中的第二智能合約和第一智能合約發(fā)起調(diào)用之前,接收交易發(fā)起方基于所述第二智能合約的交易請求;[0159]第二調(diào)用模塊920具體用于:[0160]響應于所述交易請求,在所述區(qū)塊鏈中對所述多種實例智能合約中的第二智能合約發(fā)起調(diào)用,還調(diào)用所述第一智能合約。[0161]上述模的實現(xiàn)原理參見基于區(qū)塊鏈平臺的智能合約執(zhí)行方法中的相關(guān)介紹,此處不再贅述。[0162]利用本發(fā)明實施例的方案,通過在WASM虛擬機中實現(xiàn)多種具體的合約虛擬機實例,從而可以在WASM虛擬機的智能合約之上實現(xiàn)對多種合約語言實現(xiàn)的智能合約的部署和調(diào)用,而無需對區(qū)塊鏈底層架構(gòu)進行適配重構(gòu),本發(fā)明實施例在實現(xiàn)跨區(qū)塊鏈智能合約融合復用方面具有較高可行性。[0163]本發(fā)明實施例還提供一種電子設(shè)備,包括處理器。存儲器,其中存儲有處理器的可執(zhí)行指令。其中,處理器配置為經(jīng)由執(zhí)行可執(zhí)行指令來執(zhí)行的基于區(qū)塊鏈平臺的智能合約部署方法的步驟或基于區(qū)塊鏈平臺的智能合約執(zhí)行方法的步驟。[0164]如上所示,利用本發(fā)明實施例的方案,通過在WASM虛擬機中實現(xiàn)多種具體的合約虛擬機實例,從而可以在WASM虛擬機的智能合約之上實現(xiàn)對多種合約語言實現(xiàn)的智能合約的部署和調(diào)用,而無需對區(qū)塊鏈底層架構(gòu)進行適配重構(gòu),本發(fā)明實施例在實現(xiàn)跨區(qū)塊鏈智能合約融合復用方面具有較高可行性。[0165]所屬技術(shù)領(lǐng)域的技術(shù)人員能夠理解,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或全的軟件實施方式(包括固件、微代碼等),或硬件和軟件方面結(jié)合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“平臺”。[0166]圖10是本發(fā)明的電子設(shè)備的結(jié)構(gòu)示意圖。下面參照圖10來描述根據(jù)本發(fā)明的這種實施方式的電子設(shè)備1000。圖10顯示的電子設(shè)備1000僅僅是一個示例,不應對本發(fā)明實施例的功能和使用范圍帶來任何限制。[0167]如圖10所示,電子設(shè)備1000以通用計算設(shè)備的形式表現(xiàn)。電子設(shè)備1000的組件可以包括但不限于:至少一個處理單元1010、至少一個存儲單元1020、連接不同平臺組件(包括存儲單元1020和處理單元1010)的總線1030、顯示單元1040等。[0168]其中,存儲單元存儲有程序代碼,程序代碼可以被處理單元1010執(zhí)行,使得處理單元1010執(zhí)行本說明書上述電子處方流轉(zhuǎn)處理方法部分中描述的根據(jù)本發(fā)明各種示例性實施方式的步驟。例如,處理單元1010可以執(zhí)行如圖2中所示的步驟。[0169]存儲單元1020可以包括易失性存儲單元形式的可讀介質(zhì),例如隨機存取存儲單元(RAM)1021和/或高速緩存存儲單元1022,還可以進一步包括只讀存儲單元(ROM)1023。[0170]存儲單元1020還可以包括具有一組(至少一個)程序模塊1025的程序/實用工具1024,這樣的程序模塊1025包括但不限于:處理系統(tǒng)、一個或者多個應用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實現(xiàn)。[0171]總線1030可以為表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲單元總線或者存儲單元控制器、外圍總線、圖形加速端口、處理單元或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。[0172]電子設(shè)備1000也可以與一個或多個外部設(shè)備1100(例如鍵盤、指向設(shè)備、藍牙設(shè)備等)通信,還可與一個或者多個使得用戶能與該電子設(shè)備1000交互的設(shè)備通信,和/或與使得該電子設(shè)備1000能與一個或多個其它計算設(shè)備進行通信的任何設(shè)備(例如路由器、調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(I/0)接口1050進行。并且,電子設(shè)備1000還可以通過網(wǎng)絡(luò)適配器1060與一個或者多個網(wǎng)絡(luò)(例如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。網(wǎng)絡(luò)適配器10100可以通過總線1030與電子設(shè)備1000的其它模塊通信。應當明白,盡管圖中未示出,可以結(jié)合電子設(shè)備1000使用其它硬件和/或軟件模塊,動器以及數(shù)據(jù)備份存儲平臺等。[0173]本發(fā)明實施例還提供一種計算機可讀存儲介質(zhì),用于存儲程序,程序被執(zhí)行時實現(xiàn)的基于區(qū)塊鏈平臺的智能合約部署方法的步驟或基于區(qū)塊鏈平臺的智能合約執(zhí)行方法的步驟。在一些可能的實施方式中,本發(fā)明的各個方面還可以實現(xiàn)為一種程序產(chǎn)品的形式,其包括程序代碼,當程序產(chǎn)品在終端設(shè)備上運行時,程序代碼用于使終端設(shè)備執(zhí)行本說明書上述電子處方流轉(zhuǎn)處理方法部分中描述的根據(jù)本發(fā)明各種示例性實施方式的步驟。[0174]如上所示,本發(fā)明如上實施例通過在WASM虛擬機中實現(xiàn)多種具體的合約虛擬機實例,從而可以在WASM虛擬機的智能合約之上實現(xiàn)對多種合約語言實現(xiàn)的智能合約的部署和調(diào)用,而無需對區(qū)塊鏈底層架構(gòu)進行適配重構(gòu),本發(fā)明實施例在實現(xiàn)跨區(qū)塊鏈智能合約融合復用方面具有較高可行性。[0175]根據(jù)本發(fā)明的實施方式的用于實現(xiàn)上述方法的程序產(chǎn)品1000,其可以采用便攜式而,本發(fā)明的程序產(chǎn)品不限于此,在本文件中,可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。[0176]程序產(chǎn)品可以采用一個或多個可讀介質(zhì)的任意組合??勺x介質(zhì)可以是可讀信號介體的系統(tǒng)、裝置或器件,或者任意以上的組合??勺x存儲介質(zhì)的更具體的例子(非窮舉的列[0177]計算機可讀存儲介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了可讀程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合??勺x存儲介質(zhì)還可以是可讀存儲介質(zhì)以外的任何可讀介質(zhì),該可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序??勺x存儲介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括但不[0178]

溫馨提示

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

最新文檔

評論

0/150

提交評論