我以前有使用以太坊和Solidity的经验,但现在我想尝试为Hyperledger编写智能合约。
我几乎没有考虑因素:
首先是关于支持的数据库。根据他们的文档(http://hyperledger-fabric.readthedocs.io/en/latest/ledger.html),他们使用LevelDB存储合同数据,而CouchDB支持仍处于测试阶段。有没有人在Hyperledger中使用CouchDB的经验?
其次,我看到Go主要用于智能合约的规范,但它们也支持Java。 Java是否仍处于测试阶段,是否支持其他任何编程语言?
另外,对于运行Hyperledger的生产服务器,您建议使用哪种操作系统?
感谢您的回答。
答案 0 :(得分:3)
Java是否仍处于测试阶段,并且是否支持其他任何内容 编程语言?
Hyperledger V1.0不支持Java Chaincode。 将来会有支持。 你可以在https://chat.hyperledger.org/channel/fabric询问ETA。
还有一项工作正在进行中,以支持node.js。
此外,您对生产服务器建议使用什么操作系统 运行Hyperledger?
Ubuntu 16.04 LTS运行良好
答案 1 :(得分:3)
有没有人在Hyperledger中使用CouchDB有经验?
是的,如果您的数据被建模为JSON并且您想查询数据的内容,那么CouchDB可以正常工作。默认的goleveldb状态数据库仅支持基于密钥的查询。
答案 2 :(得分:1)
您应该看看Hyperleger Composer,它可以帮助您轻松地在Hyperledger Fabric上创建区块链应用程序。 (它与Ubuntu的效果更好。)
它有自己的Modeling Language。
答案 3 :(得分:0)
超级账本最初是使用 Go 语言构建的。
超级账本团队的目标是支持尽可能多的语言。目前,hyperledger composer(用于开发区块链应用程序的工具)支持用于定义资产,交易和链码的javascript。
交易日志,状态数据并由 Level DB 和 Couch DB
支持注意:
LevelDB和CouchDB完全集成在结构框架中, 当前您无法用其他数据库替换它们
Chaincode在受保护的Docker容器中运行,链代码(又名智能合约)当前可以在 Go , Node , Java 中编程Go是稳定且完全受支持的语言。
考虑到操作系统,我已经测试了在Microsoft Azure平台上运行的结构网络,在该网络上创建了ubuntu 16.04的映像并安装了Fabric框架。到目前为止,它没有任何问题。