description |
---|
What is ArweaveKit |
ArweaveKit aims to lower the barrier of onboarding and building on Arweave by creating a well documented one-stop library.
For using any functions from the library, the package must be installed in the application.
npm install arweavekit
# or
yarn add arweavekit
{% hint style="success" %}
The latest stable version of ArweaveKit is 1.5.1
.
{% endhint %}
After installation, individual functions from specific function types can be imported as follows:
import { createWallet } from 'arweavekit/wallet';
const wallet = await createWallet({params});
In this library, the following types of functions are available:
- Wallet Functions: Functions associated with creating and using wallets. Read more here.
- Transaction Functions: Functions associated with creating and interacting with transactions. Read more here.
- Contract Functions: Functions associated with creating and interacting with contracts. Read more here.
- Auth Functions: Functions associated with authentication. Read more here.
- Encryption Functions: Functions associated with encryption. Read more here.
- GraphQL query functions: Functions to query on-chain data using GraphQL. Read more here.
ArweaveKit is compatible with both Node.js and Browser environments. Node.js has deprecated for v16
and suggest upgrading applications to v18
and above, as per this announcement.
While ArweaveKit continues to support Node.js v16
, a few flags must be passed in while running any scripts in order to optimally use some of ArweaveKit's latest features. If using Node.js v16
we recommend using the following format:
node --experimental-fetch --no-warnings file-path
Every function has a dedicated page with the following information associated with it:
- A brief description of the function
- The basic syntax for function calls
- Any input parameters for the function
- The syntax format for input parameters is
name: type
. Some parameters have theoptional
keyword which means they are optional. Parameters that do not have this keyword are required and must be passed in for successful function calls.
- The syntax format for input parameters is
- The returned data for function calls
- The syntax format for returned data is
name: type
. Data returned can be different different depending on the combination of input parameters used.
- The syntax format for returned data is
Links provided in data type descriptions may themselves link to other data types in cases of complex data objects. The most relevant bits have been explained throughout these docs but for a further understanding feel free to jump in to the rabbit hole.
Here's a list of example ideas for full-stack, end-user-facing applications you could build with arweavekit
. These concepts leverage features of Arweave, such as decentralised data storage, pay-once store-forever pricing, transaction support, and smart contract and serverless function capabilities (using SmartWeave).
- Decentralised Blogging Platform: Users could write and publish blog posts that are stored permanently on Arweave. It could have an interactive frontend for easy post creation, browsing, and reading.
- Decentralised Social Media: A social media application where users can post text, images, and videos, create their profiles, and follow other users. All user data and interactions can be stored on Arweave.
- Decentralised Document Collaboration: A collaborative document editing platform that lets users create, edit, and share documents in real-time with other collaborators. It securely stores all document data on Arweave so that multiple copies are accessible and maintained indefinitely.