Hyperledger Fabric 1.4 support for golang 1.12.x? - hyperledger-fabric

Using HLF 1.4 and trying to conform to documentation, however, docs indicate that go 1.11.x MUST be installed -- is there not support for go 1.12.7? If not, when? 1.11.x is considered "archived".
Please advise. Thanks.

I'm currently running fabric 1.4.3 with go version 1.13.5 so it seems that the docs are out of date

Related

Using Fabric Node SDK 1.4.x with Fabric 2.0

We have just migrated to Fabric 2.0 and all of our components (peer, orderer, binaries) are at v2.0.0.
Our Fabric Node SDK is still at v1.4.8 and most of its functions are working such as
createChannel, updateChannel, installChaincode etc.
However, when I try to use Channel.sendInstantiateProposal, I get an error
"Channel <channel_name> has been migrated to the new lifecycle. LSCC is now read only".
I get the fact that this is likely a mismatch between the SDK and the Fabric components, however, is there any way to get this to work besides upgrading to Fabric Node SDK 2.0?
The configtx.yaml file used to bring up the network has capabilities all set to V2.0:true. The notes indicate that V2.0 capabilities are non-backward compatible so I am assuming I cannot set them to V1.4 and still work with Fabric 2.0 components.
Thanks
In this case, the v1.4 SDK is compatible with v2, but the new chaincode architecture in v2 does not have an instantiation of the chaincode as part of its lifecycle. Instead, it uses a new, four-step process as defined in the official documentation. This is why the v1.4 SDK is failing at that line in particular, where you call Channel.sendInstantiateProposal(). The SDK is working fine, but that operation is not supported by the new chaincode lifecycle.
As for a solution, unfortunately, in v2 SDK there is no way to perform administrative tasks, and you have to use the Peer CLI for such operations.
The official documentation seems to confirm your assumption that SDKs are not necessarily forward-compatible when it comes to new features, such as the new chaincode lifecycle (see the blue 'Note' box).

is it good to develop a hyperledger fabric chaincode using go sdk?

I need to develop one project on hyperledger-fabric using a GO SDK. But as per the latest release GO SDKs that have not yet been officially released.
I had gone through with this post. But still, is it better to use a Go-SDK for any development of the product? So anyone knows it's products or web projects which are in used?
From the chat of the go-sdk-fabric:
fabric-sdk-go is stable. The reason that still in beta just for missing some documentation
The package works but it is kind of a mess, the only documentation are the chainhero example, the test files and the go-doc. There are a lot of package and some of them seems to do the same but they're not always compatible with each other.

composer network install it's not working

I'm trying setup HyperLedger fabric 1.1 on IBM cloud.I'm follwing this is link " https://hyperledger.github.io/composer/latest/tutorials/deploy-to-fabric-single-org "..In this link 7th step " Installing the Hyperledger Composer business network onto the Hyperledger Fabric peer nodes "..I'm running this command composer network install -c PeerAdmin#fabric-network -a tutorial-network#0.0.1.bna..It's not working that command..
here is screenshot :-
enter image description here
please let me...
thanks in advance
You should ideally request support from the IBM Cloud Portal (link here -> https://console.bluemix.net/docs/services/blockchain/ibmblockchain_support.html#ibmblockchain_support) - you can also see ANSWERS here on the IBM site -> https://developer.ibm.com/answers/smart-spaces/261/blockchain.html
If using its Enterprise plan my guess is that you should be using this guide for 0.16.x of Composer -> https://hyperledger.github.io/composer/v0.16/tutorials/deploy-to-fabric-single-org (to match your Composer version) - the tutorial link you provided is for version 0.19.x of Composer which has a different command sequence and probably explains the 'syntax' issue. Hope this helps.
If you are only installing hyperledger now, be aware that some of the commands have been removed in hyperedger 19.0 which is the latest version as of today, refer to this link for more information on removed and new commands.

What is main difference between hyperledge Fabric 0.6、1.0 and 1.1 version?

What is the main goal to modify fabric source code from 0.6 version to 1.1?
what is the most important change logs ? Architecture? Please describe or provide some important reference!
Each release is accompanied by changelog entries linking to the JIRA issues closed (representing every commit), and we also publish release notes in two places: on the GitHub repositories (fabric, fabric-ca, fabric-sdk-node, fabric-sdk-java, fabric-chaincode-node) and in the documentation that uplevel to a more human accessible description of the major new features or changes.
tl;dr: v0.6 -> v1.0.0 was a major re-architecture of the consensus model and added support for channels. v1.1.0 -> v1.1.0 is a series of performance and scale improvements, added support for Javascript (Node.js) chaincode, added support for CouchDB and attribute based access control and a few other features, but is forward compatible with v1.0.x releases and can be upgraded in place.

Python 3 support for fabric

Does fabric (http://docs.fabfile.org/en/1.7/) support Python 3 yet. As per Python 3 Wall of Superpowers it does not yet.
If not what is the best alternative if using Django 1.5 with Python 3.
Current advice
It seems there is already official support for Python 3.4+ in Fabric v2+ and I guess it should be preferred although there may be some incompatible changes. So in an ideal world, nobody should have this problem anymore :)
pip3 install -U "fabric>2.0"
Maintained old API in Python 3
Because some people were happy with the old API of the Fabric, there is a maintained fork supporting Python 3 called fab-classic. See also discussion in the Github issue Recreating the Fabric 1 API in Fabric 2?
The previous advice
There is Python3 port of Fabric named Fabric3 which supports Python 2.7 and 3.4+ (dropped support for Python <2.7). I use it some time as a replacement and it works for me without any issues.
pip3 install fabric3
Current Answer which has already been done by #miso.belica
pip install -U "fabric>2.0.0"
OLD Answer (as of 2013)
From the docs:
Please note that all documentation is currently written with Python
2.5 users in mind, but with an eye for eventual Python 3.x compatibility
Or to be more specific:
eventual Python 3.x compatibility
It looks like Python3 support for fabric is a little sticky and depends upon another open source library, paramiko being compatible with python3. As of now, the master version supports python 3.
It might be worth messing around with and then building your fabric instance on top of that instead of getting it from pip.
You could also create a separate python2.7 virtualenv just for fabric:
sudo virtualenv --no-site-packages -p /usr/bin/python fabric-env
source /var/www/APPNAME/fabric-env/bin/activate
sudo /var/www/APPNAME/fabric-env/bin/pip install fabric
deactivate
Then:
/var/www/APPNAME/fabric-env/bin/fab -f /var/www/APPNAME/fabfile.py FAB_COMMAND
It seems that Fabric is going through a rewrite and that Fabric 2.0 will be python 3.x compatible. At least this is what I read between the line of the roadmap below. However, I cannot find the Fabric 2.0 repository or branch, so, hard to fully confirm.
http://www.fabfile.org/roadmap.html
For those looking for a supported version of Fabric 1.x, there's a fork which is maintained:
https://github.com/ploxiln/fab-classic
I recommend using it in case you don't want to rewrite all the existing code. And it works with Python 3.7.
We've switched from fabric3==1.14.post1 to fab-classic==1.15.2 without any problems.
It is actually possible to get Fabric to work with Python 3. You can see how I did it in this gist.
In the comments above, #rnevius suggests that invoke is meant as a successor of Fabric 1.x, however that is not completely correct. From the invoke docs:
Thus, Invoke was created to focus exclusively on local and abstract
concerns, leaving Fabric 2.x concerned only with servers and
network commands.
It thus seems that Fabric 2.x will be built on top of invoke. Hopefully, Fabric 2.x will be available soon, so Python2 can die as quickly as possible.
By this day "fabric 2" is awailable to work with python 3+.
"fabric 3" is unofficial fork.
To install "fabric 2" from https://pypi.org/project/Fabric/ :
pip install Fabric

Resources