当您将 BNA 文件部署到 Hyperledger Composer 时会发生什么?
What is happening when you deploy a BNA file to Hyperledger Composer?
在我整理好我的业务网络定义之后,部署该包后对等点上实际发生了什么?我对超级账本节点如何解释 javascript 特别感兴趣,因为这似乎不是链代码支持的语言。
Composer 链码是用 Go 编写的。它使用 Duktape Javascript 解释器在 Go 进程中执行用户(和系统)JS 代码。
Composer 链码将 public JS API 映射到底层 Fabric Go API 调用。
从 Fabric 的角度来看,这只是一段 "normal" 的 Go 链代码,尽管相当复杂!
当您 "deploy" 使用 Composer CLI 的业务网络时,您实际上在做两件事:
- 部署 Composer 链代码 (Go) 并启动它
- 部署业务网络存档的字节并将其存储在世界状态中,以便在您提交交易时解释器可以使用它
将来我们希望通过本机 Node.js 执行替换 Duktape 的使用。感谢 Fabric 的模块化架构(以及 Docker 容器和 gRPC 的使用)这应该是可能的。
在我整理好我的业务网络定义之后,部署该包后对等点上实际发生了什么?我对超级账本节点如何解释 javascript 特别感兴趣,因为这似乎不是链代码支持的语言。
Composer 链码是用 Go 编写的。它使用 Duktape Javascript 解释器在 Go 进程中执行用户(和系统)JS 代码。
Composer 链码将 public JS API 映射到底层 Fabric Go API 调用。
从 Fabric 的角度来看,这只是一段 "normal" 的 Go 链代码,尽管相当复杂!
当您 "deploy" 使用 Composer CLI 的业务网络时,您实际上在做两件事:
- 部署 Composer 链代码 (Go) 并启动它
- 部署业务网络存档的字节并将其存储在世界状态中,以便在您提交交易时解释器可以使用它
将来我们希望通过本机 Node.js 执行替换 Duktape 的使用。感谢 Fabric 的模块化架构(以及 Docker 容器和 gRPC 的使用)这应该是可能的。