# Introduction to PolkaVM

## Overview

### PolkaVM

`PolkaVM`, short for `Polka Virtual Machine`, is a decentralized virtual machine environment running on the Polkadot blockchain network. `PolkaVM` enables the execution of smart contracts, which are programs that automatically execute transactions or specific actions based on pre-coded conditions. Smart contracts are written in programming languages ​​such as Solidity, then compiled into `bytecode` that `KLVM` can understand and execute. `PolkaVM` is compatible with Ethereum's `EVM`, so it fully supports current development tools, `opcode`, and source code.

### What is smart contract?

A `smart contract` is a type of computer program designed to automatically execute, control, or confirm events and actions according to pre-programmed terms. They exist and operate on `PolkaVM`, ensuring high transparency and security as they cannot be modified once deployed. `Smart contracts` help automate processes, reduce the need for intermediaries and minimize the risk of fraud or errors. They are versatile and can be used in a variety of fields, from finance and insurance to supply chain management and real estate. The development of `smart contracts` is ushering in a new era in the way we interact and conduct digital transactions, bringing greater efficiency, transparency and autonomy to users.

### Transaction and how to sign a Transaction

In the Asset Hub network, a "transaction" or transaction is an action performed by a user to transfer DOT (Polakdot native token) or Asset Hub based tokens from one address to another, or to interact with contracts. smart contract. Each transaction includes information such as source address, destination address, amount of money transferred, gas (transaction fee), and optional data if the transaction interacts with a smart contract.

When making transactions on Asset Hub, signing the transaction using a crypto wallet like MetaMask is an important step to ensure safety and security. Specifically, this process takes place as follows:

1. Create Transaction: User enters necessary information for the transaction such as receiving address, amount of `DOT` or tokens to transfer, and gas. In MetaMask, for example, users can adjust gas levels so transactions are processed faster.
2. Transaction Signing: Once the transaction information is entered, the wallet generates a digital transaction signed with the user's private key. Signing this transaction proves that the user has the right to use the address from which the transaction was sent without revealing their private key.
3. Sending Transaction: The signed transaction is then sent to the Asset Hub network via a wallet such as MetaMask. The network will confirm the transaction and execute it, transfer funds or interact with the smart contract as requested.
4. Transaction Confirmation: Finally, the transaction will be confirmed by the network, and information about it will be recorded on the blockchain. Users can track the status of transactions through online tools such as Subscan.

This process not only helps ensure transactions are carried out securely, but also helps prevent tampering or unauthorized alteration of transactions, thanks to the transparency and immutability of the blockchain.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bootcamp.openguild.wtf/smart-contract-development/introduction/introduction-to-polkavm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
