皮皮网
皮皮网

【阿里客源码】【myetherwallet源码】【qfiledialog 源码】fabic实现源码

时间:2024-12-27 16:31:55 来源:asp源码 钛

1.如何fabric安装
2.fabric-sdk-go的简单使用
3.我的现源世界forge和fabric哪个好
4.详解fabric.js跨域

fabic实现源码

如何fabric安装

       1.首先安装依赖包yum -y install python-setuptools python-devel

       2.下载fabric源码包并解压安装tar zxvf Fabric-1.8.2.tar.gzcd Fabric-1.8.2python setup.py install

       ï¼ˆæœ›æ¥¼ä¸»é‡‡çº³å“¦ï¼‰

fabric-sdk-go的简单使用

        使用fabric提供的cryptogen工具生成文件模板

        $ cryptogen showtemplate > crypto-config.yaml

        进行修改,添加一个组织,一个orderer节点.

        根据crypto-config.yaml文件生成证书文件:

        $ cryptogen generate --config=crypto-config.yaml

        查看生成的证书文件夹结构:

        需要从fabric的源码案例中拷贝configtx.yaml文件

        $ cp $GOPATH/src/github.com/hyperledger/fabric-samples/first-network/configtx.yaml ./

        对configtx.yaml文件进行修改.

        修改之前,创建一个文件夹,来保存即将创建的创世区块文件

        将创建区块文件和通道的命令写到一个脚本中! generate.sh

        脚本文件和配置文件的目录结构:

        执行generate.sh文件生成创世区块文件和通道,其实只有一个组织,也没必要生成锚节点更新文件..

        $ ./generate.sh

        配置docker-compose文件:

        启动容器, 启动后查看容器运行情况

        $ docker-compose up -d

        $ docker-compose ps

        在这里,创建两个脚本文件,用于docker容器的管理

clear_docker.sh文件:

        restart.sh文件:

        创建配置文件的时候,有两个文件可以进行参考...

        修改后的sdk配置文件:

        创建出一个模型对象,给其赋值,并开始初始化sdk

        使用 pkg/fabsdk/fabsdk.go中的New()方法进行实例化

        创建请求之前,需要使用 gopackager.NewCCPackage 方法生成一个resource.CCPackage 对象,传递两个参数,一个是链码的路径(相对于工程的路径), 一个是GOPATH的路径.

        安装链码,使用pkg/client/resmgmt/resmgmt.go文件中的方法

        创建请求之前,需要生成一个*cb.SignaturePolicyEnvelope类型的对象,使用 third_party/github.com/hyperledger/fabric/common/cauthdsl/cauthdsl_builder.go文件中的方法即可,提供了好几个方法, 使用任意一个即可.这里使用 SignedByAnyMember方法: 需要传入所属组织ID

        实例化链码

        使用 pkg/client/channel/chclient.go中的 Execute()方法,来进行数据写入的操作:

        rsp, err := model.Channelclient.Execute(req)

        写入之前,要创建请求:

        tempArgs是要传给链码的参数,可以做下封装,就不受参数个数的限制了

        使用 pkg/client/channel/chclient.go中的 Query()方法,来进行数据查询的操作: 查询之前,同样需要创建请求.

        链码在工程中的路径应该是 工程名/chaincode文件夹

        比如:

        driverFabricDemo/chaincode

        而不应该省略掉工程名这样写: chaincode

        错误原因:cert.URIs 和 tpl.URIs 这两个字段没有被定义.

        进入tpl对象中, /usr/local/go/src/crypto/x/x.go 是个结构体,并没有发现 URIs 字段

        对go版本进行升级,从1.9.3升级到1..3, 再次进入 /usr/local/go/src/crypto/x/x.go 文件中,查看结构体内容:

        在执行sdk的Excute()方法时报错.

        方法不存在,一般是由于链码的Invoke方法中的方法名和Excute()方法传入的方法名不一样.

        但是可以肯定的是,链码的Invoke方法中的方法名和,项目中执行Excute()方法时传入的方法名是完全一样的! 但是很奇怪了,为什么会出现这个错误呢? 使用 docker rmi 删除掉 dev-peerx.travle.xq.com 的镜像,再重新运行即可.

        在创建实例化链码请求的时候

        总是提示

        Cannot use str (type *cb.SignaturePolicyEnvelope) as type *common.SignaturePolicyEnvelope less... (⌘F1) Inspection info: Reports composite literals with incompatible types and values

        明明是相同的类型,却总是报错,应该是IDE的问题.把vendor文件夹删除后,就不会有提示了. 再使用vendor对工程进行init 和 add +external 就好了!!

        出现这个错误,一般都是配置文件哪个地方写错了,需要细心检查

我的世界forge和fabric哪个好

       我的世界forge好。

       Forge API是现源最早的Mod Loader API,它采用ASM这个东西来反编译Minecraft的现源源代码,以修改游戏逻辑,现源而Fabric API差不多也是现源阿里客源码如此。

       Forge API采用了一个我忘了叫啥的现源myetherwallet源码玩意来反混淆Minecraft的源代码,而Fabric自己做了一套叫做yarn的现源玩意。

详解fabric.js跨域

       处理fabric.js跨域问题,现源是现源开发者经常遇到的挑战之一。我作为vue-fabric-editor开源编辑器项目的现源作者,今天将为您详细介绍如何解决fabric.js跨域的现源难题。

       问题现象

       在使用fabric.js插入或保存时,现源开发者可能会遇到两种错误情况。现源qfiledialog 源码要么在尝试保存新时遇到错误,现源要么在插入时出现问题。现源这些错误提示了跨域访问的问题。

       跨域设置

       要解决跨域访问的GG源码问题,需要分别从前端和后端进行配置。通过使用http-server模拟跨域环境,我们发现从目录下的HTML文件访问位于的时,可以正常获取。脚本 源码这验证了前端跨域设置的必要性。

       四种插入的方式

       fabric.js提供了多种插入的方法。无论是直接使用URL插入,还是通过其他途径加载,其核心流程都是将原生的Img对象转换成fabric.Image对象,并最终将该对象添加到画布中。

       源码实现

       在fabric.js的源代码中,可以看到原生Img对象与fabric.Image对象之间的关系。通过这种方式,fabric.js能够高效地处理,优化渲染性能。

       其他

       如果您正在使用vue-fabric-editor开源编辑器项目,该项目可能已经包含了跨域处理的相关代码。在使用过程中,确保按照项目指南正确配置环境,有助于避免跨域相关的错误。

更多内容请点击【时尚】专栏