Blockchain Development Kit for EthereumThe extension simplifies how you create, build and deploy smart contracts on Ethereum ledgers.
Open Source Ethereum developmentGet started with smart contractsCreate a new smart contract projectThe Blockchain Developer Kit was built to work effectively for both new users to Ethereum, but not get in the way for those familiar with the process. One of the primary goals is to help users create a project structure for these smart contracts, help in the compilation and building of these assets, deployment of these assets to blockchain endpoints as well as debugging of these contracts. One of the frameworks that the extension leverages is Truffle Suite, a well known set of tools to assist in smart contract and Dapp development. Developers that are familiar with Truffle Suite may use the Truffle command line For developers who are not familiar with Truffle, or prefer to use the Command Palette, the extension can easily scaffold out a project directory using the following steps.
Build your smart contractsYour newly scaffolded out directory includes a simple contract and all the necessary files to build and deploy a simple, working, contract to the blockchain endpoint. Use the following steps to build your contract
Deploy to the Ethereum blockchain RPC endpointOnce compiled, you will have your contract, contract metadata (e.g., contract ABI, bytecode) available in the smart contract .json file which will be located in the For new users, this can be hard to understand, because there are multiple steps that need to occur for the deployment to be successful. To ease this burden the extension provide a simple model to deploy to various networks. By default, this will be a local network, using Ganache. The extension will start and run an instance of ganache for the user. The options to initiate this deployment are below.
Deploy with Truffle Ganache locallyFor rapid development of smart contracts, having the ability deploy contracts to a blockchain quickly to test and debug is a key principle. One of the most popular models to achive this is using Truffle Ganache, which acts as a local blockchain/blockchain emulator to allow this quick deployment and iteration that is ideal for developers. The extension has integrated Ganache directly into the IDE to further lower the bar to entry, and allow even faster development iteration. By default, there is nothing to configure, and the following steps can be used.
OPTIONAL: If there is a need to control this Ganache instance more or change the configuration, there are some other options that can be used that the IDE can help with as well.
Deploy with Infura to Ethereum mainnet and testnetsIf you are a developer that would like to target public testnet and mainnet for Ethereum, the ability to leverage Infura from inside the IDE is provided via this extension. For those that aren't familiar with Infura, it provides the tools and infrastructure that allow developers to easily take their blockchain application from testing to scaled deployment - with simple, reliable access to Ethereum mainnet and testnets, and also has support for IPFS. Details can be found on the Getting started with Infura blog and on the Infura Docs pages. To use Infura, the first step is to either create or connect to an existing Infura project. The IDE will step through this process.
Deploy with Hyperledger BesuHyperledger Besu is a popular Ethereum client that is unique in that it offers a client that can be used in either public networks, such as Ethereum mainnet or private, consortium based networks. It can be deployed a variety of ways, and recently a preview has been made available in Azure. Currently, the Hyperledger Besu is fully compatible with the extension, however the provisioning of the nodes is not yet fully integrated. To connect to a running Besu node with the extension, you can do the following:
Add the following to the configuration:
Deploy with Azure Blockchain Service to cloudIf you are a developer that would like to target a network that leverages Azure, this option is also available. The option to create new networks or connect to existing ones are is available, the same as with Infura and Local networks!
System Requirements
Our Wiki page includes a comprehensive getting started guide with detailed usage instructions for this plugin Code of ConductThis project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments. TelemetryVS Code collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. If you don’t wish to send usage data to Microsoft, you can set the
|