Arweave Data Integration

Demo to preview the settings

Introduction

Unlock the gateway to decentralized data management with the Arweave Data Integration plugin. Just like Bitcoin revolutionized finance, Arweave offers a permanent and decentralized web within an open ledger, making it the ideal solution for preserving humanity's crucial data and hosting fully decentralized web apps.
The Arweave protocol, a stable and widely adopted technology, epitomizes decentralization, ensuring the integrity and permanence of stored data.
This plugin provides convenient actions to simplify interaction with Arweave, offering seamless integration into Bubble applications without complex coding. Functions include creating transactions, uploading files, fetching data from the Arweave network, and verifying transaction status.
With a user-friendly interface, the Arweave Data Integration plugin caters to both experienced developers and newcomers to blockchain technology. Its integration with Bubble applications empowers users to harness decentralized storage and data management effectively. Embrace the future of data integration with the Arweave Data Integration plugin for Bubble.

How to setup

Place plugin’s element on the page and fill the fields exactly as on the demo, with the types provided by the plugin.
Image without caption
You are ready to use it.

Plugin’s API Calls

Get Transaction Price

The Arweave network calculates and returns the cost, in AR tokens, for storing the specified amount of data at the provided target address. This API call helps users estimate the cost of storing data on the Arweave network before initiating the storage transaction.
Fields:
Title
Description
bytes
The number of bytes to go into the transaction data field. If sending AR to another wallet with no data attached, then 0 should be used.
target
The target wallet address if sending AR to another wallet.
Example to check price for storing data:
Image without caption
Example to check price for making wallet to wallet transaction:
Image without caption

Plugin element: Arweave JS

Image without caption

Plugin’s Element Fields

Title
Description
Type
Private Key Type
Should be set to plugin type “Type Key(Arweave Types)”
App Type
Transactions Type
Should be set to plugin type “Type Transaction(Arweave Types)”
App Type
Block Type
Should be set to plugin type “Type Block(Arweave Types)”
App Type
💡
Set all field values with the plugin’s types as demonstrated in the demo( demonstrated in the image below ).
Image without caption

Plugin’s Element Returned Values

Title
Description
Type
New Wallet Private Key
Serves as a structured representation of the cryptographic key, making it easier to manage and utilize its components within the application. Returned from "Create a new wallet and private key" action.
Private key type
Wallet Address
Represents the unique identifier of a digital wallet generated using the Arweave protocol. Returned from "Create a new wallet and private key" action.
Text
Wallet Balance (Winston)
Represents the balance of a wallet in Arweave cryptocurrency, measured in winston, which is the smallest unit of Arweave. Returned from action “Get an address balance”.
Text
Wallet Balance (AR)
Represents the balance of a wallet in Arweave cryptocurrency, measured in Ar, which is the base currency unit of Arweave. Returned from action “Get an address balance”.
Text
Last Transaction ID
Represents the identifier of the most recent transaction associated with a particular wallet or account on the Arweave blockchain. Returned from “Get the last transaction ID from a wallet” action
Text
Data Transaction
Represents details of a transaction that has been created and posted on the Arweave blockchain. Returned from “Create a data transaction” action.
Transactions type
Wallet to Wallet Transaction
Represents details of a transaction that involves the transfer of Arweave cryptocurrency between two wallets on the Arweave blockchain. Returned from Create a wallet to wallet transaction action.
Transactions type
Transaction Status
Represents the status of a transaction on the Arweave blockchain. Returned from “Get a transaction status” action.
Text
Import Wallet Key
Represents the parsed components of a cryptographic key that has been imported into the system. These components include d, dp, dq, e, kty, n, p, q, and qi. Each component is represented as a string value and is stored under the corresponding key in the state object. Returned from “Import Wallet” action
Private key type
Block by index_hash
Contains details about a specific block on the Arweave blockchain, identified by its independent hash. These details include various properties of the block such as its size, cumulative difficulty, hash, height, timestamp, transaction root, reward address, and more. Returned from “Get a block by indep_hash” action.
Block type
Current Block
Contains details of the most recent block on the Arweave blockchain. Returned from “Get current block” action.
Block type
Get Transaction Details
Contains details about a specific transaction on the Arweave blockchain. These details include various properties such as the transaction's data root, data size, format, ID, last transaction ID, owner, quantity, reward, signature, tags, and target. Returned from “Get a transaction” action.
Transactions type
Get Transaction Data
Contains the data retrieved from a specific transaction on the Arweave blockchain. This data is typically the content stored within the transaction and can vary depending on the application. The details may include information such as the content's format, size, encoding, and other relevant attributes. This state allows the application to access and utilize the transaction data as needed for further processing or display. Returned from “Get transaction data” action.
Text
Error
Communicates any errors message that may occur during the execution of the plugin’s code.
Text
New Wallet Address
Represents the freshly generated wallet address derived from the private key. Returned from “Create a new wallet and private key” action.
Text

Plugin’s Element Events

Title
Description
Wallet and Private keys created
Triggered after both the private key and the wallet address are successfully generated. It serves as a signal to indicate that the process of creating both the wallet and the private keys has been completed without errors. Triggered in “Create a new wallet and private key” action.
Wallet Imported
Signals that a wallet has been successfully imported into the system. Triggered in “Import Wallet” action.
Error
Triggered when an error has occurred during the plugin code execution.

Plugin’s Element Actions

Create a new wallet and private key

Here you can generate a new wallet address and private key (JWK), don't expose private keys or make them public as anyone with the key can use the corresponding wallet.

Get the wallet address for a private key

Get an address balance

Get the last transaction ID from a wallet

Create a data transaction

Create a wallet to wallet transaction

Get a transaction status

Get a transaction

Import Wallet

Get transaction data

Get a block by indep_hash

Get current block

Plugin’s Actions

Get a transaction status - Backend(Server Side Action)

Retrieves the status of a transaction from the Arweave network using the provided transaction ID.

Fields

Title
Description
Type
Transaction ID
The unique identifier assigned to a transaction on the Arweave blockchain.
Text

Returned values

Title
Description
Type
Transaction Status
Represents the current status of a transaction on the Arweave blockchain. It can indicate whether the transaction is successful, pending, or encountered an error.
Text
Error
Indicates any encountered errors during the execution . It provides information about what went wrong, helping to diagnose and resolve issues.
Text

Create a wallet to wallet transaction - Backend(Server Side Action)

This server-side action facilitates wallet-to-wallet transfers on the Arweave blockchain by enabling the creation, signing, and posting of transactions. Users specify the target wallet address and the quantity of tokens to transfer. The action then constructs a transaction object, signs it using cryptographic keys associated with the sender's wallet, and posts it to the Arweave network for validation and inclusion in the blockchain.

Fields

Title
Description
Type
Private Key Type
Specifies the type of private key used for signing transactions. Should be set to the plugin type “Type Key(Arweave Types)”
App Type
Transactions Type
Specifies the type of transactions to be created. Should be set to the plugin type “Type Transaction(Arweave Types)”
App Type
Private Key
Cryptographic key components necessary for signing transactions.
Private key type
Target (address)
(Optional) Specifies the recipient wallet address.
Text
Quantity (AR tokens)
(Optional)It's a numerical value representing the quantity of currency units (such as Arweave tokens) being transferred from one wallet to another. For instance, if you want to transfer 5 Arweave tokens, you would specify quantity as 5.
Text
Data (optional)
(Optional) This parameter represents additional information or content that can be included in the transaction. It's a string value that could contain any relevant data or message associated with the transaction. For example, if you're transferring a document or any other type of data along with the currency transfer, you could encode that data as a string and include it here.
Text
Add tags to a transaction
Metadata can be added to transactions through tags, these are simple key/value attributes that can be used to document the contents of a transaction or provide related data. Example: [ { key: "Content-Type", value: "text/plain" }, { key: "Author", value: "John Doe" } ]
Text
💡
The Content-Type is a reserved tag and is used to set the data content type. For example, a transaction with HTML data and a content type tag of text/html will be served as a HTML page and render correctly in browsers, if the content type is set to text/plain then it will be served as a plain text document and not render in browsers.

Returned values

Title
Description
Type
Transaction
Represents the transaction that was created and sent.
As transaction Type
Error
Contains details about any error encountered during the transaction process.
Text

Changelogs

Update: 20.03.24 - Version: 1.4.0

  • “Get transaction data" action - "save file" fixed

Update: 26.02.24 - Version: 1.3.0

  • Added “Get a transaction status - Backend” and “Create a wallet to wallet transaction - Backend” actions

Update: 02.02.24 - Version: 1.0.0

  • Initial Release