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.
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:
Example to check price for making wallet to wallet transaction:
Plugin element: Arweave JS
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 ).
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