配置 Fab3 代理

在以太坊/EVM 开发领域,许多客户端和钱包使用 web3 库在以太坊网络中部署和管理智能合约。

web3 库调用 Ethereum JSON RPC API,该 API 必须通过 web3 提供程序提供。

fab3 代理是一个 web3 提供程序,它公开了一组 Ethereum JSON RPC API,并促进使用基于 web3 的客户端和 EVM 链代码。fab3 代理使用 Hyperledger Fabric Go SDK 连接 Oracle Blockchain Platform evmcc 链代码并与之交互。

以下步骤将指导您设置环境以使用 web3 库和 fab3 代理在以太坊虚拟机 (EVM) 链代码中部署智能合同并与之交互。

  • 在配置 fab3 代理之前,必须按照所有步骤设置 EVM 链代码。请参见 Run Solidity Smart Contracts with EVM on Oracle Blockchain Platform 。EVM 链代码和 fab3 软件包包含连接配置文件,包括 network.yaml 文件和对象。
  • 以下步骤仅适用于在 Hyperledger Fabric v2.x 上运行的 Oracle Blockchain Platform 实例。
  1. 在服务控制台的开发人员工具选项卡上,打开应用程序开发窗格,然后单击下载包括连接概要信息在内的 Fab3 配置。您必须是管理员用户才能下载该文件。
  2. 从下载的软件包中提取文件。
  3. 从服务控制台导出管理身份证明。
    1. 网络选项卡上,单击组织表中的组织更多操作按钮。
    2. 单击导出管理身份证明
    3. 单击确定保存身份证明档案文件。
    4. 提取下载的文件。
  4. 将上一步中提取的管理证书(.pem 文件)复制到以下位置,以替换路径中的实际组织和用户 ID:
    ./artifacts/crypto/peerOrganizations/<organization-id>/users/<user-id>/msp/signcerts/
    ./artifacts/crypto/peerOrganizations/<organization-id>/users/<user-id>/msp/keystore/
  5. 设置 fab3 代理所需的环境变量。有关所需环境变量的更多信息,请参阅 EVM 智能合同中的设置 Fab 代理
    export FAB3_CONFIG= # Path to the network.yaml in the extracted EVM chaincode and fab3 package
    export FAB3_USER= # User identity being used for the proxy (Matches the users names in the crypto-config directory specified in the config)
    export FAB3_ORG= # Organization of the specified user
    export FAB3_CHANNEL= # Channel to be used for the transactions
    export FAB3_CCID= # ID of the EVM Chaincode deployed in your fabric network
    export FAB3_PORT=5000 # Port the proxy will listen on. If not provided, the default is 5000.
  6. 在提取 fab3 软件包的文件夹中打开终端窗口。在 Hyperledger EVM 智能合同文档中,按照构建 Fab 代理部分中的步骤构建 fab 代理,以及连接到代理部分中的步骤安装 web3 并连接到代理。
现在,您可以使用 Hyperledger EVM 智能合同文档部署合同与部署的合同交互部分中的步骤来部署智能合同并使用 web3 库与智能合同进行交互。