July 07 2024
Observations
IBM's VS Code Plugin
- Plugin has stopped support in 2022.
- Build the plugin -
.vsix
file to import into VSCode vsce
is command for packaging.- Check the instructions at https://github.com/IBM-Blockchain/blockchain-vscode-extension/blob/fdae62c4be2d357168b2b8aec08e279ef51da428/docker/README.md#building-the-docker-image.
- There is distinction between network created via ansible, IBP and etc.
Spydra VS Code Plugin
- Has an option to start the network from the VSCode interface.
- The quick start network could end up in issues due to system resources, the containers take time to bring up but the automation script expects to run sooner.
- There are - launch configuration for the plugin itself and the Fabric chaincode input file for debugging.
- Creates a default channel in the sample network.
- Has an option for attaching a custom chaincode for debugging. There are lauch configuration changes depending on the programming language of the chaincode.
- Native peer run chaincode is differentiated from the chaincode as a service option.
Desired Behavior
- Have an option to connect to a different Fabric network.
- A Fabric network shall be identified using the connection profile file.
- Provide a network view in tree structure form.
- Optionally, show if the services are reachable.
- Chaincode to be always run as a service.
- Fabric network shall connect to the chaincode run on the local machine.
- Run the chaincode itself on the cloud. SSH to the chaincode instance on the cloud. This is to open up the networking between the chaincode instance and the peer node.
- May require a special consideration for Kubernetes based network.
- Have an option to create a Fabric network locally using CRE (such as docker).
- Do consider validations in the script before running commands, ensure the required containers are up or prerequisites are installed.
- Do consider buttons for starting, stopping, clearing. Do consider the cases where the developers may click on random buttons.
- Desired to have PDC debugging.
- Wallet is associated with the network. By default use the admin credential belonging to the organization. However, there can be a flexibility for advanced users.
- Collect the parameters for the methods at runtime. There can be a default file as a configuration for the chaincode.
- Provide an experience similar to Java debugger with spring. i.e. An option to run the chaincode function directly from the IDE.
- Ethereum remix - upload the smart contract, remix picks up all the functions, give a black box to put in parameters and run that specific function. Ethereum ABI specification to do it.
- The user experience should be consistent across programming languages for chaincode.
- Present intelligent template but with an option to change the language.
- Security between chaincode and the peer. Mutual TLS is desired but the support for it can be in later releases.
- Ideally, a button to switch off TLS.
Attendance
Kent Lau
Chinmayi D S
Claudia Emmanuel
Varsha Pichandi
Arun S M