Hello world! Welcome to another edition of the Web3 Python Weekly. This week we want to break down the most recent State of Python in Blockchain report, put together by none other than our friends over at Trading Strategy. If you enjoy this, make sure to join our discord - where we talk about all things Python. Thanks for joining!
First thing’s first:
Create NFTs with Paloma’s upgraded Python SDK version 3.0.16
You can now create CW721 NFT type tokens on the Paloma Blockchain using Python. This new feature follows the CW720 fungible token capabilities that allow anyone to create, burn, and transfer fungible tokens on Paloma's blockchain with simply Python. Create either a DEX or NFT marketplace on Paloma and leverage Paloma's cross-chain messaging system to control those tokens and their alternatives deployed on the coming Paloma target chains that include Binance, Polygon, and Ethereum.
Get started with Paloma's documentation on the CW721 NFT type tokens today with the Quickstart Guide.
The State of Python in Blockchain
This report provides an overview of the current state of Python in blockchain software development ecosystems for 2023. Trading Strategies examines blockchain projects and tooling that use Python or are related to Python and why this overlap is significant.
Why is Python important?
Python is one of the world's leading programming languages and was named "most in-demand language of 2022", according to Coding Nomads.
Python is the number one language of choice for things like:
- Data research
- Quantitative finance
- Trading automation
- Integration and testing
- Software automation and DevOps
Python is also heavily used in web backends, having both small and large projects choosing their software-as-a-service solutions to be built on top of it. Within the traditional tech industry, the top ten apps such as Instagram and Pinterest rely heavily on Python. The cryptocurrency industry is no different. Centralised exchanges use Python in their backend API and integration and have been doing so for over a decade.
Blockchain, cryptocurrency or protocol projects looking to attract talent and builders in the above verticals should offer Python-based development solutions. Vice versa, Python developers who look to enter the blockchain industry can easily find opportunities in these specific areas. More mature Python tooling can often be seen as an indication for adoption in professional settings and makes it easier to enter into traditional corporations.
Python and blockchain ecosystem interconnections
Because of the heavily financial nature of blockchains, and Python's unique status in finance and data research, there are multiple software development verticals where Python and blockchain development overlap.
Blockchains usually do not come with Python included. Typically, for a minimal blockchain or protocol project, there is no support for Python by the core development team. Here is a look at some typical components and integrations.
Financial and data research activities overlap with blockchain, on-chain analytics, and decentralised finance (DeFi). Trading overlaps with centralised exchanges (CEXes) and decentralised exchanges (DEXes). These activities are critical but often not part of the more user-visible elements of software development, like web frontend (dominated by JavaScript-based tooling) or blockchain core (dominated by Go and Rust).
Python verticals in blockchain development
Below are introductions and overviews to individual notable blockchain projects that best utilize Python in 2022.
We have divided projects based on their vertical into:
Core blockchain and node software
Smart contract languages
Integration libraries
Smart contract development frameworks
Trading
Data research, including extract transform load (ETL) solutions
Security and auditing
Python integration libraries
Integration libraries and software toolkit libraries are used to make blockchains communicate with other software. This includes web frontends and server-based applications like SaaS offerings. One of the most common use case for this is to integrate cryptocurrency payments to centralised exchanges (CEX) or other currency ramps.
Integration libraries allow you to query the chain state, assemble and broadcast your own transactions. The libraries speak with a blockchain node using Remote Procedure Call (RPC) protocol. Common protocol choices include JSON-RPC and Protobuf.
Some of the libraries highlighted are:
- Web3.py
- Pons
- Sign in with Ethereum (SIWE)
- CosmPy
- Paloma.py
- xrpl-py
- IOTA wallet Library
- Near-API-Py
What to expect for 2023
Blockchain technology has started to diversify from its Bitcoin and Ethereum architecture duopoly. While EVM is still the dominating solution, its architectural shortcomings are becoming more obvious as later-generation technology enters the market. Although any change towards more scalable, secure, and user-friendly technologies is slower than we wish, it is still happening.
We expect integration and the need to access data with variation and growth of the industry that will generate more demand for Python libraries and tooling. Software developers should find ample opportunities in this space as long as they know where to look.
Read the entire State of Python in Blockchain report here.
Dev of the Week: Jesús Paleta
Jesús is a python engineer who hopped into our Discord last week. He’s working on an API platform to connect Web2 Python developments to Cosmos blockchains. His favorite Python library is the Paloma.py SDK because “it makes very easy the transition to Web3.” Keep up the great development work Jesús!
That's it for today & see ya next time! If you liked this issue, be sure to share!