




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
區(qū)塊鏈之智能合約目錄起源和定義工作原理應(yīng)用場(chǎng)景起源和定義智能合約是一系列以數(shù)字形式指定的承諾,包括各方履行這些承諾的協(xié)議智能合約的定義:是一種旨在以信息化方式傳播、驗(yàn)證或執(zhí)行合的計(jì)算機(jī)協(xié)議。智能合約目的:智能合約的目的是提供優(yōu)于傳統(tǒng)合約的安全方法,并減少與合約相關(guān)的其他交易成本。工作原理基于區(qū)塊鏈的智能合約構(gòu)建及執(zhí)行分為以下幾步:第一步、多方用戶共同參與制定一份智能合約第二步、合約通過(guò)P2P網(wǎng)絡(luò)擴(kuò)散并存入?yún)^(qū)塊第三步、區(qū)塊鏈構(gòu)建的智能合約自動(dòng)執(zhí)行應(yīng)用場(chǎng)景一、金融領(lǐng)域:證券、保險(xiǎn)、貿(mào)易金融等。二、物聯(lián)網(wǎng)(IoT)領(lǐng)域。起源和定義四、管理領(lǐng)域:數(shù)字資產(chǎn)及版權(quán)管理、組織管理、政務(wù)管理等。三、能源領(lǐng)域。感謝觀看用智能合約處理價(jià)值目錄通證,價(jià)值的數(shù)字表示物智能合約的價(jià)值以太坊——智能合約最好的載體一個(gè)簡(jiǎn)單的智能合約:Faucet通證,價(jià)值的數(shù)字表示物在《區(qū)塊鏈超入門(mén)》中,方軍提出,區(qū)塊鏈的基本功能是三個(gè)部分:1)去中心化地進(jìn)行價(jià)值表示的功能;2)進(jìn)行價(jià)值轉(zhuǎn)移的功能;3)價(jià)值表示物即通證(Token)通證,價(jià)值的數(shù)字表示物令牌系統(tǒng)TokenSystems鏈上令牌系統(tǒng)有很多應(yīng)用,從代表如美元或黃金等資產(chǎn)的子貨幣到公司股票,代表智能資產(chǎn)的單獨(dú)令牌,安全的不可偽造的優(yōu)惠券,甚至與傳統(tǒng)價(jià)值完全沒(méi)有關(guān)聯(lián)的令牌系統(tǒng),如積分獎(jiǎng)勵(lì)。通證,價(jià)值的數(shù)字表示物一般來(lái)講,在區(qū)塊鏈中,通證是價(jià)值的數(shù)字表示物。它可以指代門(mén)票、供應(yīng)鏈單據(jù)、股票、資產(chǎn)憑證、忠誠(chéng)度積分或其他基于區(qū)塊鏈的產(chǎn)品與服務(wù)。
通證,價(jià)值的數(shù)字表示物在以太坊的通證編程實(shí)踐中,最主要的分類是可互換的ERC20標(biāo)準(zhǔn)與不可互換的ERC721標(biāo)準(zhǔn)。古董、藝術(shù)品等收藏品通常是不可互換的,比如以太坊上一個(gè)游戲迷戀貓中的每一只貓都是獨(dú)一無(wú)二的。智能合約的價(jià)值智能合約的價(jià)值在于,降低了交易成本,更高效且確保安全的前提下進(jìn)行交易。將之前麻煩的程序統(tǒng)統(tǒng)交給代碼進(jìn)行處理,而且代碼的犯錯(cuò)概率要遠(yuǎn)小于人為。以太坊——智能合約最好的載體在以太坊上面,任何人都能夠創(chuàng)建自己想要做的去中心化的智能合約。智能合約?旦被創(chuàng)建之后,就無(wú)需中間機(jī)構(gòu)參與,可以自動(dòng)執(zhí)行,并且沒(méi)有人可以操縱其運(yùn)行。以太坊——智能合約最好的載體另外,在以太坊上面,你可以編寫(xiě)資產(chǎn)代碼,創(chuàng)建新的區(qū)塊鏈資產(chǎn),簡(jiǎn)單說(shuō)來(lái),就是你可以在以太坊平臺(tái)上面發(fā)行自己的代幣,代幣的名稱、發(fā)行機(jī)制、發(fā)行數(shù)量、代幣應(yīng)用場(chǎng)景都可以由發(fā)行者本人設(shè)計(jì)。一個(gè)簡(jiǎn)單的智能合約:Faucet在以太坊區(qū)塊鏈網(wǎng)絡(luò)中,以太幣(Ether)是一種特殊的通證,它被設(shè)計(jì)為這個(gè)全球計(jì)算機(jī)的燃料(gas),用戶在以太坊網(wǎng)絡(luò)中執(zhí)行各種計(jì)算,均要用以太幣相應(yīng)地支付燃料費(fèi)。智能合約特點(diǎn)規(guī)范性;不可逆性;不可違約性;匿名性。
智能合約的應(yīng)用1、數(shù)字身份智能合約可以讓用戶擁有和控制自己的數(shù)字身份,比如個(gè)人數(shù)據(jù)、信譽(yù)以及數(shù)字資產(chǎn)。2、證券在金融行業(yè)里,智能合約對(duì)于資本的管理具有非常重大的意義。3、記錄智能合約需要能夠在分布式賬本上存儲(chǔ)數(shù)據(jù),并且不會(huì)減緩性能或者破壞數(shù)據(jù)隱私。智能合約的應(yīng)用4、抵押貸款傳統(tǒng)的抵押貸款流程?般是人工完成的且容易出錯(cuò)。有了智能合約,就可以自動(dòng)流程內(nèi)的每?個(gè)環(huán)節(jié),包括支付處理,財(cái)產(chǎn)扣押。5、土地所有權(quán)記錄智能合約可以推動(dòng)財(cái)產(chǎn)轉(zhuǎn)讓,以提高交易的完整性、效率和透明度。世界上的國(guó)家,包括格魯吉亞、加納和洪都拉斯,都已經(jīng)把區(qū)塊鏈應(yīng)用于土地所有權(quán)記錄。感謝觀看用智能合約處理業(yè)務(wù)邏輯問(wèn)題描述傳統(tǒng)交易和智能合約交易區(qū)別? 1.智能合約中的懲罰等條件是提前進(jìn)行明晰的,適用于客觀的請(qǐng)求場(chǎng)景。而傳統(tǒng)合約則更適用于主觀請(qǐng)求場(chǎng)景。
2.智能合約的成本要明顯低于傳統(tǒng)合約成本。因?yàn)橹悄芎霞s中的各項(xiàng)執(zhí)行條件等已經(jīng)被提前寫(xiě)入代碼,執(zhí)行時(shí)候不需要再耗費(fèi)更多的人力物力即可進(jìn)行。 3.智能合約可以用于提前預(yù)防,而傳統(tǒng)合約則是事后判斷。問(wèn)題描述
在以太坊區(qū)塊鏈的環(huán)境中,每對(duì)地址/私鑰代表一個(gè)用戶,每個(gè)用戶有自己的錢(qián)、資產(chǎn)或權(quán)力,智能合約可以用來(lái)處理常見(jiàn)的業(yè)務(wù)邏輯。
接下來(lái),我們用智能合約示例來(lái)看三個(gè)業(yè)務(wù)邏輯:購(gòu)物、拍賣(mài)與投票。為了便于理解,我們所討論的都是簡(jiǎn)化場(chǎng)景。另外我們還討論了用數(shù)字簽名來(lái)做一個(gè)區(qū)塊鏈上的支票的案例。
用智能合約處理購(gòu)物購(gòu)物場(chǎng)景在簡(jiǎn)化的購(gòu)物場(chǎng)景中也會(huì)至少包括賣(mài)家與買(mǎi)家兩家。在面對(duì)面購(gòu)物時(shí),賣(mài)家給出商品,買(mǎi)家付錢(qián),一手交錢(qián)一手交貨。在賣(mài)家和買(mǎi)家不見(jiàn)面且相互不信任時(shí),如何進(jìn)行交易就成為一個(gè)難題。那么,能否用智能合約來(lái)充當(dāng)中間人呢?以下是一個(gè)簡(jiǎn)化的遠(yuǎn)程購(gòu)物示例。遠(yuǎn)程購(gòu)物示例買(mǎi)家賣(mài)家創(chuàng)建賣(mài)單-2020
賣(mài)家金庫(kù)買(mǎi)家下單購(gòu)買(mǎi)-2040-20確認(rèn)收貨100-10其他狀態(tài)智能合約金庫(kù)區(qū)塊鏈帳本購(gòu)物場(chǎng)景
如圖所示,我們創(chuàng)建一個(gè)智能合約來(lái)實(shí)現(xiàn)遠(yuǎn)程安全購(gòu)物。智能合約運(yùn)行在區(qū)塊鏈上,這個(gè)智能合約有兩種功能:一是實(shí)現(xiàn)業(yè)務(wù)邏輯,二是它可以作為不受賣(mài)方與買(mǎi)家影響的金庫(kù),獨(dú)立、可信地管理資金。這個(gè)智能合約有四種狀態(tài),分別是:已創(chuàng)建賣(mài)單、已下單購(gòu)買(mǎi)、已確認(rèn)收貨以及其他。示例代碼contractPurchase{uintpublicvalue;//此參數(shù)為商品的定價(jià)addresspayablepublicseller;//賣(mài)主addresspayablepublicbuyer;//買(mǎi)主enumState{Created,Locked,Release,Inactive}Statepublicstate;//缺省為CreatedmodifieronlyBuyer(){…}modifieronlySeller(){…}modifierinState(State_state){…}//這是智能合約的構(gòu)造函數(shù),賣(mài)家創(chuàng)建這個(gè)智能合約時(shí),//需要向智能合約轉(zhuǎn)入以太幣資金。示例代碼//msg.value即為轉(zhuǎn)入的以太幣資金,這是抵押的資金。//這個(gè)抵押的資金是商品價(jià)格的兩倍,因此也就賦值商品定價(jià)參數(shù)。constructor()publicpayable{seller=msg.sender;value=msg.value/2;require((2*value)==msg.value,"Valuehastobeeven.");}//在買(mǎi)家下單前,賣(mài)家可以取消商品functionabort()public實(shí)列代碼onlyBuyer inState(State.Locked) { state=State.Release; buyer.transfer(value); } //賣(mài)家調(diào)用此函數(shù),取回雙倍抵押的資金、貨款 //此數(shù)值為商品價(jià)格的三倍 functionrefundSeller() public示例代碼onlySellerinState(State.Created){state=State.Inactive;seller.transfer(address(this).balance);}}用智能合約處理拍賣(mài)拍賣(mài)場(chǎng)景
由智能合約主持一個(gè)拍賣(mài),在競(jìng)標(biāo)的時(shí)間段內(nèi),競(jìng)標(biāo)者可以向智能合約轉(zhuǎn)入以太幣資金,表示自己參與競(jìng)標(biāo)。在競(jìng)標(biāo)結(jié)束后,投標(biāo)金額最高的競(jìng)標(biāo)者獲勝。示例代碼contractSimpleAuction{addresspayablepublicbeneficiary;//投標(biāo)的發(fā)起人(受益人)uintpublicauctionEndTime;//拍賣(mài)截止時(shí)間//在部署這個(gè)智能合約時(shí),需要指定受益人、截止時(shí)間constructor(uint_biddingTime,addresspayable_beneficiary)public{beneficiary=_beneficiary;auctionEndTime=now+_biddingTime;}實(shí)例代碼//拍賣(mài)的相關(guān)狀態(tài) //當(dāng)前的最高競(jìng)標(biāo)者、其金額 addresspublichighestBidder; uintpublichighestBid; //可以取回自己資金的競(jìng)標(biāo)者名單 mapping(address=>uint)pendingReturns; //拍賣(mài)狀態(tài),缺省為`false`即未結(jié)束 boolended; //任何人都可以調(diào)用bid()函數(shù)競(jìng)標(biāo) //調(diào)用此函數(shù)時(shí)要相應(yīng)地轉(zhuǎn)入競(jìng)標(biāo)資金msg.value
實(shí)例代碼functionbid()publicpayable{ require( now<=auctionEndTime, "Auctionalreadyended." ); require( msg.value>highestBid, "Therealreadyisahigherbid." );if(highestBid!=0){ pendingReturns[highestBidder]+=highestBid; }示例代碼highestBidder=msg.sender; highestBid=msg.value; emitHighestBidIncreased(msg.sender,msg.value); } //已經(jīng)不是最高競(jìng)標(biāo)者的人可以用withdraw()函數(shù)取回自己的資金 functionwithdraw()publicreturns(bool){ uintamount=pendingReturns[msg.sender]; if(amount>0){ pendingReturns[msg.sender]=0;
實(shí)例代碼if(!msg.sender.send(amount)){ pendingReturns[msg.sender]=amount; returnfalse; } } returntrue; }
//調(diào)用此函數(shù)來(lái)結(jié)束拍賣(mài),并將最高競(jìng)標(biāo)人的資金轉(zhuǎn)給受益人 functionauctionEnd()public{實(shí)例代碼 //1.執(zhí)行條件:拍賣(mài)時(shí)間段已經(jīng)結(jié)束,且此函數(shù)還未被調(diào)用過(guò)require(now>=auctionEndTime,"Auctionnotyetended."); require(!ended,"auctionEndhasalreadybeencalled."); //2.結(jié)束拍賣(mài),將資金轉(zhuǎn)給受益人 ended=true; beneficiary.transfer(highestBid); }}用智能合約處理投票投票場(chǎng)景
智能合約還可以用來(lái)資金以外的權(quán)利、權(quán)益。接下來(lái),我們來(lái)看用智能合約來(lái)編寫(xiě)一個(gè)投票系統(tǒng)。投票的發(fā)起方用區(qū)塊鏈智能合約發(fā)起一個(gè)投票,對(duì)包括A、B、C、D等提案進(jìn)行投票。投票發(fā)起方還要?jiǎng)澏ㄓ袡?quán)投票的人員范圍,即賦予相關(guān)人投票權(quán)。
這個(gè)投票還有一個(gè)規(guī)則是,投票人可以將自己的票委托給其他人,由他代為投票。投票過(guò)程示例示例代碼contractBallot{//投票人的數(shù)據(jù)結(jié)構(gòu)structVoter{uintweight;//投票人持有的含委托的總票數(shù)boolvoted;//若為true,表示已投票addressdelegate;//投票權(quán)的被委托人uintvote;//所投的提案}//存儲(chǔ)所有的投票人信息mapping(address=>Voter)publicvoters;//提案的數(shù)據(jù)結(jié)構(gòu)示例代碼structProposal{bytes32name;//提案名稱uintvoteCount;//提案所獲票數(shù)}//存儲(chǔ)所有提案Proposal[]publicproposals;//此投票的管理者addresspublicchairperson;//此為智能合約的構(gòu)造函數(shù)//輸入值是投票的提案,我們假設(shè)分別為A、B、C、D//此投票的管理者就是這個(gè)智能合約的創(chuàng)建者示例代碼constructor(bytes32[]memoryproposalNames)public{chairperson=msg.sender;voters[chairperson].weight=1;for(uinti=0;i<proposalNames.length;i++){proposals.push(Proposal({name:proposalNames[i],voteCount:0}));}}示例代碼//投票的管理者可以調(diào)用此函數(shù),賦予投票人投票權(quán)functiongiveRightToVote(addressvoter)public{require(msg.sender==chairperson,"Onlychairpersoncangiverighttovote.");require(!voters[voter].voted,"Thevoteralreadyvoted.");require(voters[voter].weight==0);voters[voter].weight=1;}示例代碼//通過(guò)此函數(shù),投票人把自己的投票權(quán)委托給他人functiondelegate(addressto)public{//如果你已經(jīng)投票或已經(jīng)委托,那么提示你已經(jīng)投票Voterstoragesender=voters[msg.sender];require(!sender.voted,"Youalreadyvoted.");//你也不能把投票權(quán)委托給自己require(to!=msg.sender,"Self-delegationisdisallowed.");while(voters[to].delegate!=address(0)){to=voters[to].delegate;require(to!=msg.sender,"Foundloopindelegation.");}
示例代碼//執(zhí)行委托投票過(guò)程,分兩種情況://1)如果被委托人已經(jīng)投票,那么他所投提案的得票直接加一//2)如果被委托人尚未投票,那么他的投票權(quán)重加一,在稍后他投票時(shí),權(quán)重為N則代表票數(shù)為N。sender.voted=true;sender.delegate=to;Voterstoragedelegate_=voters[to];if(delegate_.voted){proposals[delegate_.vote].voteCount+=sender.weight;}else{delegate_.weight+=sender.weight;}}示例代碼//投票函數(shù)//如果沒(méi)有人被委托,那么投出自己的一票//如果被委托,那么投出自己持有的所有票數(shù)functionvote(uintproposal)public{Voterstoragesender=voters[msg.sender];require(sender.weight!=0,"Hasnorighttovote");require(!sender.voted,"Alreadyvoted.");sender.voted=true;sender.vote=proposal;proposals[proposal].voteCount+=sender.weight;}示例代碼//調(diào)用此函數(shù),可以看到贏得投票的提案是什么functionwinningProposal()publicviewreturns(uintwinningProposal_){uintwinningVoteCount=0;for(uintp=0;p<proposals.length;p++){if(proposals[p].voteCount>winningVoteCount){winningVoteCount=proposals[p].voteCount;winningProposal_=p;}}}}Part4用智能合約處理支票支票場(chǎng)景我們也可以用智能合約來(lái)實(shí)現(xiàn)支票的功能,它利用了區(qū)塊鏈上的用私鑰簽名的數(shù)字簽名不可否認(rèn)的特性。支票的原本含義是,你持有這張我簽名的紙條,就可以找我兌換相應(yīng)的資金。接下來(lái)我們來(lái)看看,如何用智能合約實(shí)現(xiàn)區(qū)塊鏈上的數(shù)字支票。1.對(duì)一個(gè)消息簽名,同意一筆支付付款人收款人2.將對(duì)應(yīng)的款項(xiàng)存到智能合約3.向智能合約出示簽名消息4.智能合約驗(yàn)證,將款項(xiàng)支付給收款人感謝觀看!智能合約的編寫(xiě)、部署與交互
目錄1.Solidity語(yǔ)言概述2.編譯器remix部署與使用3.Solidity語(yǔ)法4.使用Solidity開(kāi)發(fā)智能合約1.Solidity語(yǔ)言概述
Solidity是用于編寫(xiě)智能合約(smartcontract)的語(yǔ)言,從語(yǔ)法上和python,javascript類似,相比主流編程語(yǔ)言缺少類似多線程,并發(fā)等高級(jí)特性。
Solidity的特點(diǎn): 1.Solidity源文件通常以.sol為后綴。2.有特殊的Address的類型。3.有異常出現(xiàn),所有執(zhí)行都會(huì)被撤回2.編譯器remix部署與使用Remix在線編譯器:/2.編譯器remix部署與使用remix下載:1.準(zhǔn)備一臺(tái)虛擬機(jī),需要先關(guān)閉防火墻,提前下好Chrome、Docker2.啟動(dòng)docker服務(wù)
命令:#systemctlstartdocker.service3.載入dockerimage并打上tag
命令:#dockerload</home/blockchain/images/remix-ide.tar#dockertagf74866f6d042docker.io/remixproject/remix-ide:latest4.生成并運(yùn)行remix-idedocker容器
命令:#dockerrun-p8080:80remixproject/remix-ide:latest2.編譯器remix部署與使用5.通過(guò)Chrome瀏覽器訪問(wèn)remix-ide,Chrome中輸入:8080remix-ide首頁(yè)2.編譯器remix部署與使用添加文件搜索界面插件管理器SOLIDITY圖標(biāo)用于編譯運(yùn)行3.Solidity語(yǔ)法solidity的四種訪問(wèn)權(quán)限:
public:任何人都可以調(diào)用該函數(shù)
private:只有合約本身可以調(diào)用該函數(shù)
internal:合約默認(rèn)屬性,子合約可以訪問(wèn)父合約的內(nèi)部函數(shù),
external:只有外部可以調(diào)用該函數(shù),而合約內(nèi)部不能調(diào)用。3.Solidity語(yǔ)法solidity的三種修飾符
view:可以自由調(diào)用,“查看”區(qū)塊鏈的狀態(tài)而不改變它。
pure:也可以自由調(diào)用,既不讀取也不寫(xiě)入?yún)^(qū)塊鏈。
payable:常常用于將代幣發(fā)送給合約地址。3.Solidity語(yǔ)法solidity函數(shù)組成部分:function
函數(shù)名字(類型1名字,類型2名字,…,類型n名字)returns(類型1名字,類型2名字,…,類型n名字)示例代碼:pragmasolidity^0.4.0;contracthelloworld{functionstringtest(stringinputstr)publicviewreturns(string){returninputstr;}}3.Solidity語(yǔ)法數(shù)據(jù)類型:值類型、引用類型值類型:整數(shù)型(int、uint)、布爾型(bool)、定點(diǎn)數(shù)類型(fixed、ufixed)引用類型:數(shù)組、結(jié)構(gòu)體Struct、映射運(yùn)算符:算數(shù)運(yùn)算符、?較運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、賦值運(yùn)算符條件運(yùn)算符。3.Solidity語(yǔ)法邏輯運(yùn)算符:Solidity?持的邏輯運(yùn)算符,如下表所示:假設(shè)變量A的值為10,變量B的值為20。&&(邏輯與)
||(邏輯或)例:(A&&B)為真
例:(A||B)為真!(邏輯?)例:!(A&&B)為假3.Solidity語(yǔ)法算數(shù)運(yùn)算符Solidity?持的算術(shù)運(yùn)算符,如下表所示:假設(shè)變量A的值為10,變量B的值為20。+(加)例:A+B=30
–(減)例:A–B=-10*(乘)例:A*B=200
/(除)例:B/A=2++(遞增)例:A++=11
--(遞減)例:A–=9%(取模)例:B%A=03.Solidity語(yǔ)法位運(yùn)算符Solidity?持的位運(yùn)算符,如下表所示:假設(shè)變量A的值為2,變量B的值為3。&(位與)
|(位或)例:(A&B)為2.
例:(A|B)為3.^(位異或)
~(位?)例:(A^B)為1.
例:(~B)為-4.<<(左移位))
>>(右移位)例:(A<<1)為4.
定例:(A>>1)為13.Solidity語(yǔ)法數(shù)組數(shù)組是?種引?類型,它是存儲(chǔ)同類元素的有序集合聲明數(shù)組:typearrayName[arraySize];例子:uintbalance[10];3.Solidity語(yǔ)法初始化固定?度數(shù)組uintbalance[3]=[1,2,3];以?個(gè)固定?度的數(shù)組來(lái)賦值給固定?度的數(shù)組,可以省略數(shù)組?度,可以創(chuàng)建與前?個(gè)示例完全相同的數(shù)組。:uintbalance[]=[1,2,3];將數(shù)組中第3個(gè)元素賦值為5。balance[2]=5;訪問(wèn)數(shù)組元素:
uintsalary=balance[2];3.Solidity語(yǔ)法結(jié)構(gòu)體Struct定義結(jié)構(gòu)體,struct語(yǔ)句的格式如下:
示例:structstruct_name{ structBook{type1type_name_1;
stringtitle;type2type_nam
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海供貨服裝合同范例
- 廚師績(jī)效合同范本
- 合同范例作廢文本
- 代課教師聘用合同范例
- 合同范本打賭
- 北京官方合同范本
- 報(bào)社發(fā)布廣告合同范本
- 合伙開(kāi)采金礦合同范本
- 吊頂裝修工程合同范例
- 合力叉車(chē)合同范本
- 《審計(jì)學(xué)》完整全套課件
- 胎盤(pán)早剝應(yīng)急預(yù)案演練腳本
- 2023年中國(guó)鐵路南寧局招聘筆試參考題庫(kù)附帶答案詳解
- 某鐵路注漿處理工藝性試驗(yàn)方案
- GB/T 12265-2021機(jī)械安全防止人體部位擠壓的最小間距
- GB 8537-2018食品安全國(guó)家標(biāo)準(zhǔn)飲用天然礦泉水
- GB 31247-2014電纜及光纜燃燒性能分級(jí)
- 部編人教版道德與法治五年級(jí)下冊(cè)全冊(cè)課時(shí)練習(xí)講解課件
- 識(shí)讀齒輪精測(cè)報(bào)告課件
- 《農(nóng)村土地承包法》課件
- 廉政鑒定書(shū)(院內(nèi)廉政意見(jiàn)書(shū))
評(píng)論
0/150
提交評(píng)論