ArweaveKit Docs
  • ArweaveKit
    • Introduction
  • 🔐Wallets
    • Introduction to Wallets
    • Create Wallet
    • Get Wallet Address
    • Get Wallet Balance
    • Wallet Plugins
  • 💳ARWEAVE WALLET KIT
    • Introduction to Arweave Wallet Kit
    • Setup
    • Connect Button
    • Hooks
    • Customization
  • 🏦Transactions
    • Introduction to Transactions
    • Create Transaction
    • Sign Transaction
    • Post Transaction
    • Get Transaction Status
    • Get Transaction
    • Create and Post Transaction with Othent
    • Transaction Plugins
  • 📄SMART CONTRACTS
    • Introduction to Smart Contracts
    • Create Contract
    • Write Contract
    • Read Contract State
    • View Contract State
    • Write Contract with Othent
    • Read Contract with Othent
    • Smart Contract Plugins
  • ✅AUTH
    • Introduction to Auth
    • Connect
    • Disconnect
    • Get Active Address
    • Get Permissions
    • Get Wallet Names
    • Get All Addresses
    • Get Active Public Key
    • Is Installed
    • Log In with Othent
    • Log Out with Othent
    • Get User Details with Othent
    • Auth Plugins
  • 🔐Encryption
    • Introduction to Encryption
    • Encrypt Data with AES
    • Decrypt Data with AES
    • Encrypt AES Key with RSA
    • Decrypt AES Key with RSA
    • Encryption Plugins
  • 🌐GRAPHQL
    • Introduction to GraphQL
    • Query All Arweave Transactions
    • Query Arweave Data
    • Query Arweave Transactions
    • GraphQL Plugins
  • 🗺️RoadMap
    • Features
  • 📘REFERENCES
    • ArweaveKit in Browser Environments
  • 🛠️SUPPORTING TOOLS
    • Arweave StarterKit
Powered by GitBook
On this page
  • Smart Contracts
  • SmartWeave Contracts on Arweave
  • Smart Contracts from a development perspective
  • Libraries used
  • Smart Contract based functions

Was this helpful?

  1. SMART CONTRACTS

Introduction to Smart Contracts

Introduction to smart contracts on Arweave

PreviousTransaction PluginsNextCreate Contract

Last updated 1 year ago

Was this helpful?

Smart Contracts

A smart contract is a piece of logic stored on the blockchain. They automatically run and execute actions when certain predetermined conditions are met.

Smart contracts are deterministic. For a given set of inputs, they always return the same output, irrespective of the user. Thus, creating a trust-minimised system.

SmartWeave Contracts on Arweave

Arweave has its own version of a smart contract system called SmartWeave.

It is unique because it relies on lazy evaluation which shifts the responsibility of validating the results of the contract from the nodes to the users of the network.

The contract source code and its initial state are deployed to Arweave and posted as transactions. Then, when a user interacts with a contract, all of the prior transactions with that smart contract are evaluated until the end of chain of valid transactions. Finally, the user evaluates their latest call to the contract and writes the resulting state transition to the Arweave Network.

Smart Contracts from a development perspective

Developers need to create user friendly tools, applications and interfaces that let users create and interact with smart contracts and associated applications for data storage, sharing, etc. on Arweave.

Libraries used

The functions associated with smart contracts leverage the following libraries:

Smart Contract based functions

In this section, we will look at the following features:

  • creating a smart contract

  • writing to a smart contract

  • reading from a smart contract

📄
Warp SDK