• 首頁 > 資訊 > 應用 > CITA:面向企業級應用高性能區塊鏈內核

    CITA 支持哪些編程語言來編寫智能合約

    2019-11-01 14:04:10作者:CITA來源:CITA
    CITA( Cryptape Inter-enterprise Trust Automation )是一個面向企業級應用的支持智能合約的高性能區塊鏈內核

    智能合約

    語言 CITA 支持哪些編程語言來編寫智能合約?

    Solidity,Rust

    CITA 支持用 Go 來寫智能合約嗎?

    在 v1.0.0 以前的 CITA 支持 Go 合約,但是 Go 合約不能夠和 solidity 的合約互相調用。在使用的時候,需要單獨為每一個節點啟動關于 Go 合約的服務,操作比較繁瑣。除此之外,在 Go 合約中使用隨機數會導致鏈的分叉,因為 Go 合約是每一個節點單獨作為一個服務運行的。

    同時考慮到客戶對 Go 智能合約的需求并不強烈。因些, 在版本 v1.0.0 中, CITA 暫時取消了對 Go 智能合約的支持。

    版本 CITA 0.17 和 0.18 的solc 版本分別最高支持多少?

    0.4.19 和 0.4.24

    系統保留地址 對于 0xffffffffffffffffffffffffffffffffff010000 存證指令的這個地址,是怎么使用的呀?現在我向這個地址存了數據,該用什么方法去讀取呢?

    就是普通的發交易,讀取的話就是根據交易哈希查詢 getReceipt,然后取出來。

    RPC/SDK

    chainid 是寫在配置文件中的,如何獲取?

    chainId可以通過getMetaData這個jsonRPC方法來獲取。 示例命令:curl -X POST —data '{"jsonrpc":"2.0","method":"getMetaData","params":["latest"],"id":1}' ipAddr:port

    sdk 中新出現的參數 value(智能合約反向生成的 java 類,在 deploy 中出現的 value)具體代表什么含義,需要給應用層暴露么?

    是暴露在應用層的。value 是指原生 token,之前 CITA 是沒有幣這個概念的,0.17 加入的,所以多了 value 這個概念。 這個 value 在部署的方法里現在是沒有用到的,只是在轉賬的時候用到,部署的時候填入空字符串即可.

    quota 和 value 有什么差別,應用如何對應輸入參數?

    quota 是你發送一個交易(包括調用合約,部署合約和轉賬)所需要付出的礦工費,如果不足則該交易無法入鏈,value 是你要在該交易中發送的幣的數量,比如你要給A轉賬1個幣,那么value就是1(注意這里的單位是ether),quota 是 100000 quota. (quota 的最小單位就叫quota, 類似以太坊的 wei, 但是注意我們不要用 ethereum 的單位體系)。如果交易失敗了你的 quota 仍然會損失,但是 value 是不會損失的。

    什么是交易的基礎配額

    交易的基礎配額, 指的是一個交易在執行前必須滿足的最小配額 (quota) 值。在當前 CITA 中, 發送部署合約的交易,其基礎配額是 53000; 而發送一個普通交易, 其基礎配額是 21000 。 當交易平臺設定的 quota_limit 小于基礎配額時, CITA 將會返回 "Not enough base quota" 錯誤。

    eventlog的查詢有示例代碼么?

    有的,在 github 上有一個 develop 分支,里面有個 project 叫 tests,里面都是例子,其中叫 TokenFilterTest 的是關于 event 的實例

    交易如果需要轉幣,必須要有轉賬的來源、去處、額度,但是有的交易不需要轉幣,這個相關參數如何處理?

    交易如果需要轉幣,不需要提供來源,只需要提供去處,因為簽名信息已經代表了來源,如果不需要轉幣,相關參數傳空字符串就可以。

    ?合作聯系/投稿/糾錯

    標簽

      熱文推薦

    毛片免费看