Last month, Microsoft released Azure Blockchain Service making it easy for anyone to quickly setup and manage a blockchain network and providing a foundation for developers to build a new class of multi-party blockchain applications in the cloud.
To enable end-to-end development of these new apps, we’ve collaborated with teams from Visual Studio Code to Azure Logic Apps and Microsoft Flow to Azure DevOps, to deliver a high-quality experience that integrates Microsoft tools developers trust and open-source tools they love.
As we looked at the open source projects for Ethereum-based blockchains, we saw Truffle addressing core needs of developers looking to create, compile, test, and manage smart contract code. We kicked off our relationship in 2018 by co-authoring guidance for using Truffle for consortium DevOps and incorporating Truffle-based tooling in our Azure Blockchain Development Kit for Ethereum.
This week, we doubled down on our relationship by announcing an official partnership between our organizations to bring Truffle blockchain tools for developer experience and DevOps to Microsoft Azure. This will manifest not just in Visual Studio and Azure DevOps, but also upcoming tools from Truffle such as Truffle Teams. Through this partnership, developers working in Truffle environments will have access to Azure services, and Azure customers will have access to the suite of tools Truffle provides to make developing on Ethereum easy, such as:
- Standalone, local nodes for testing: Development starts on a developer’s laptop or local machine, and Truffle provides a local, standalone blockchain node that is lightweight and can be quickly spun up for local dev/test.
- Easily populate a node with test data: Once a local node was available, developers also wanted to be able to have a copy of data in the blockchain to test. Unlike a relational database where test data could easily be loaded from a script, a blockchain is populated via signed transactions that require significantly more effort to set up in a test environment. The Truffle Suite solves this by providing the ability to “fork” a blockchain so that developers can get a local copy of real network data to test against.
- Easily deploy smart contracts: Developers wanted to easily script deployments of their smart contracts to local, private chain or public chain environments.
- Write and execute tests for smart contracts: With Truffle, developers can write tests using the popular Mocha framework. Those tests can then be executed locally or in Azure Pipelines by individual organizations or as a consortium.
- Interact with smart contracts: The ability to do interactive testing via the console or a UI can help quickly validate or troubleshoot behavior, which can be especially important for scenarios that span multiple smart contracts.
- Debug smart contracts: When tests are executed, they aren’t always successful, and that’s where enterprise developers expect to have a debugging experience comparable to what they’ve seen in .NET and Java development.
As partners and as end users, we are big fans of Truffle’s technology and the people behind it. Their customer obsession and open orientation has made them the trusted choice for blockchain developers, and we are eager to see what you will build with Truffle on Azure.