R3 Corda: 合約目錄 Contract Catalogue

原文地址:https://docs.corda.net/contract-catalogue.html

在 Corda 中提供了很多類型的合約,既包括核心功能(比如現(xiàn)金和賬本),也提供了應(yīng)該如何構(gòu)建復(fù)雜合約的例子(日股匯率交換)。還包括 Dummy 合約。然而這里并沒有提供任何有意義的功能,所以這純是為了測試的目的。

現(xiàn)金 Cash

Cash 合約的 states 對象代表了一些發(fā)行的貨幣和誰擁有這些貨幣。然和節(jié)點都可以發(fā)行任何的貨幣,所以這個取決于接收方來決定他們是否新人貨幣的發(fā)行方??傮w來說,節(jié)點是應(yīng)該具有一些審核條件(就像是白名單),貨幣發(fā)行方必須要滿足這些條件他們發(fā)行的貨幣才會被接受。

現(xiàn)金的 state 對象實現(xiàn)了 FungibleAsset 接口,并且可以被商業(yè)票據(jù)(commercial paper)和債券(obligation)合約作為一個借款清算的一部分被使用。合約的校驗方法要求,作為清算 transaction 的一部分,具有正確價值的現(xiàn)金 state 對象被收款人接收到了。

現(xiàn)金合約支持發(fā)行(issuing),轉(zhuǎn)移(moving)和銷毀(exiting)states。注意,發(fā)行的操作不能夠跟其他現(xiàn)金命令放在同一個 transaction 中,以最小化余額驗證的難度。

現(xiàn)金合約同商品合約共享了一個通用的 superclass OnLedgerAsset。它實現(xiàn)了在區(qū)塊鏈上可以被發(fā)行、轉(zhuǎn)移和銷毀的資產(chǎn)(assets)的常見行為,它的子類會處理特定資產(chǎn)數(shù)據(jù)類型和行為。

Corda 支持通過實現(xiàn) CashSelection 接口的方式來支持可插拔(pluggable)的現(xiàn)金選擇算法。默認的實現(xiàn)是使用一個特定的 H2 查詢,這個查詢對于不同的數(shù)據(jù)庫提供商(database provider)都可以被重寫。請查看 META-INF\services\net.corda.finance.contracts.asset.CashSelection 路徑下的 CashSelectionH2Impl 和相關(guān)的聲明。

商品 Commodity

Cmmodity 合約是一個非貨幣合約的早期階段的例子,它的 states 實現(xiàn)了 FungibleAsset 接口。這個被用來作為對于非現(xiàn)金的債務(wù)的一個概念驗證(proof of concept)。

商業(yè)票據(jù) Commercial paper

CommercialPaper 是在將來支付一定現(xiàn)金的一個很簡單的債務(wù),也是在教程中被使用的一個簡化的合約。商業(yè)票據(jù)支持發(fā)行、轉(zhuǎn)移和履約(結(jié)算) states。跟完全的債務(wù)合約不同,他不支持將 state 鎖住,所以如果債務(wù)人拒絕支付或者 netting of state objects,它是不會被清算的。每個商業(yè)票據(jù)的命令都是獨有的。使用 Obligation 合約來做一些更高級的功能。

利率交換 Interest rate swap

利率交換合約是一個雙邊的合約,實現(xiàn)一個 vanilla 固定 / 浮動相同的貨幣利率交換。大體上說,一個 IRS 允許了交易雙方從對底層利率的改的東來改變他們的 exposure。 他們經(jīng)常被用來作為套期工具(hedging instrument),將一個固定利率的貸款轉(zhuǎn)換為一個浮動利率的貸款,或者做一個相反的操作。

債務(wù) Obligation

債務(wù)合約的 state 對象代表了一個需要提供某些資產(chǎn)的債務(wù),通常會是一個現(xiàn)金 state 對象,但是也可以是任何滿足 FungibleAsset 接口的合約 state 對象,包括其他類型的債務(wù)。債務(wù)合約使用的對象是作為條款(Terms)來將命令(commands)和 state 對象組合在一起。條款是一個債務(wù) state 對象的子集,包括了什么需要被支付,什么時間以及由誰來支付的詳細信息。

債務(wù) state 對象想其他任何的 fungible asset 一樣可以被發(fā)行、轉(zhuǎn)移和清除。合約還支持 state 對象 netting 和生命周期變動(marking the obligation that a state object represents as having defaulted, or reverting it to the normal state after marking as having defaulted)。Net 命令不能和其他任何債務(wù)命令一同包含在同一個 transaction 中,因為它會被應(yīng)用到不同受益人的 state 對象中,還因為這個會應(yīng)用到不同的條款中。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 金融知識大全(最全整理版) 本文實戰(zhàn)財經(jīng) 轉(zhuǎn)自 優(yōu)維金融空間,轉(zhuǎn)載請注明來源! 第一部分:銀行系金融知識大全! 1...
    cnnjzc閱讀 6,920評論 0 14
  • 來源:實戰(zhàn)財經(jīng) 轉(zhuǎn)自 優(yōu)維金融空間 導(dǎo)讀:包含銀行系金融知識和基金證券類知識大全。 目錄 第一部分:銀行系金融知識...
    1e662a7de34a閱讀 10,188評論 0 9
  • 我想投稿掙錢嘞。 毛巨星的《如果有一天我變的很有錢》。 錢是什么?是貨幣,是商品與商品的交換比例。 錢是工具,很好...
    大號牛仔褲閱讀 208評論 0 0
  • 一九四九年冬初,是一個關(guān)鍵的時刻。一個偶然的機會中,我獲得一位被人尊稱為二爺?shù)暮\姶罄系馁p識。劈頭第一句話,他就開...
    上海過客閱讀 330評論 0 2

友情鏈接更多精彩內(nèi)容