Anyone could get 45 bitcoins without knowing private key

Anyone could get 45 bitcoins without knowing private key

Intro For several weeks I tried to play around bitcoin script. Yes, this may be news to you but bitcoin have a scripting language that acts as a very simple smart contract. This is an interesting topic because it reveals the internals of Bitcoin. What you should know is that bitcoins script is a scripting system for transactions. Forth-like, Script is simple, stack-based, and processed from left to right. It is intentionally not Turing-complete, with no loops. ...

December 10, 2022 · 10 min · Vadzim Belski
Start Learning Rust programming language

Start Learning Rust programming language

Intro Rust is a modern programming language that focuses on thread-safety and performance. Unlike in many higher-level programming languages, there is neither a garbage collection nor a virtual machine in Rust. Instead, Rust addresses known problems of long-established low-level programming languages such as C or C++. At the same time, the programming language is known for its steep learning curve, which makes many developers shy away from delving into Rust. We provide four reasons to show that Rust, despite its complexity, has benefits that will make your work (and live) with the language easier. ...

December 3, 2022 · 1 min · Vadzim Belski
Crypto billing system, Monitoring transactions and derrive addresses in Rust for Bitcoin, Ethereum, Solana and Polkadot

Crypto billing system, Monitoring transactions and derrive addresses in Rust for Bitcoin, Ethereum, Solana and Polkadot

Intro Great weekend for great research followup. This article is about how to implement billing system different crypto currencies using Rust pogramming language. Before getting deeper into the details of implementation o would like to define what is standing under the term “billing system” for crypto currencies. Crypto Billing system is a software that us used to organize crypto payments in your organization. It is designed to create derevative addresses (one time payment addresses) and monitor incoming transactions executing business logic for your organization. Typically the scenario could be the following: ...

December 2, 2022 · 9 min · Vadzim Belski

Full token standrads for blockchain

Intro I collected of all token related standards proposed for the Ethereum network. This list can be used as note to recap and used during architecturing of the blockchain software. This list can be used compile solutions based on standards, many of the standards proposed by Ethereum developers and community and already have been implemented in Solidity. List of Ethereum Tokens Standards ERC-20 : Standard Fungible Token (EIP-20) Standard API for fungible tokens, including transfer and balance tracking functionalities. ...

November 25, 2022 · 10 min · Vadzim Belski
Software Design principles

Software Design principles

Intro Any architectect and software developer should be aware of and follow best practeces established by many generations of software developers. This article is a recap of the best practices and the most important ones for software developers. Whenever you came to interview with me - you should definitely read this article and know by heart many of the principles. Design principles A brief overview over common design principles SOLID Single Responsibility Principle (SRP): A class should only have a single responsibility, that is, only changes to one part of the software’s specification should be able to affect the specification of the class. Open/Closed Principle (OCP): “Software entities … should be open for extension, but closed for modification.” Liskov Substitution Principle (LSP): “Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.” Interface Segregation Principle (ISP): “Many client-specific interfaces are better than one general-purpose interface.” Dependency Inversion Principle (DIP): One should “depend upon abstractions, [not] concretions.” DRY (Don’t Repeat Yourself) “Every piece of knowledge must have a single, unambiguous, authoritative representation within a system” ...

July 29, 2022 · 3 min · Vadzim Belski
Bitcoin - crearing raw transactions

Bitcoin - crearing raw transactions

Intro I was interested on how to write Bitocoin automation and during of implementation of the project I found out that I need to write raw transactions. This looks interesting as it give an overview on bitcoin protocol internals, knowledge on how it works gives possibility to understand deeper the internals. Creating a Raw Transaction This allows you to send money but to craft the transactions as precisely as you want. This first section focuses on a simple one-input, one-output transaction. This sort of transaction isn’t actually that useful, because you’re rarely going to want to send all of your money to one person (unless you’re actually just forwarding it on, such as if you’re moving things from one wallet to another). Thus, we don’t label this section as a way to send money. It’s just a foundational stepping stone to actually sending money with a raw transaction. ...

June 30, 2022 · 11 min · Vadzim Belski
Solana SPL tokens

Solana SPL tokens

Intro I was interested how Solana blockchain is structured. Basically how to create own ERC20 and ERC721 token analog in Solana. My findings show that Solana provides ready to use implementation for Fingible and Nonfingible tokens. Comparing to Ethereum and other blockchain platforms, Solana is more flexible and has more features. Smart Contracts are also available in Solana. I will try to cover all the features of Solana. Solana Programs Smart Contracts in Solana called as Programs. Programs are usually written on C++ or Rust prograaming languages. I will focus on Rust programming language because i want myself to dive deep into Rust language. There not much difference in terms of how Smart contracs deployed on Solana and Ethereum, you will get similair use eperience using platfom tools for deployment on both blockchain networks. However, there are some differences in how programs are written. ...

June 30, 2022 · 8 min · Vadzim Belski
Bitcoin addresses monitoring for incoming transactions

Bitcoin addresses monitoring for incoming transactions

Intro Let’s take a look a specific use-case. If a user is sending bitcoin to my bitcoin address, how can I keep track the status of the transaction, for example, when the user send the coins and when the transaction gets confirmed? The solution is the system will generate a unique address for every user who is trying to send bitcoin. And the system will listen any transactions in the network, which related to this address. ...

June 9, 2022 · 3 min · Vadzim Belski