Argora was the initial name of the permadapp called today Metaweave. Because the plateforme is still based on the same data protocol, the original name hasn't changed.
Like Metaweave, anyone can freely reuse the Argora protocol and make their own version of Metaweave, you can simply cherry-pick the information you need in the blockweave and build your service around the Argora protocol.
A post submitted on Argora is called a Weeve. At the moment, a weeve support unlimited text size and picture. It is planed to support more media in the next protocol version.
Each transaction Weeve is required to have theses 2 tags:
Protocol-Name
:argora
Protocol-Version
:1.2-beta
community
: string
Get Weeves belonging to a specific community timeline. If missing, get the last Weeves, metaweave and all planets included.
reply-to
:txid
|"world"
| @jwk
possible value | description |
---|---|
txid |
Get Weeves belonging to a specific Weeve txid sub-timeline (replies). |
"world" |
Get Weeves belonging to the main timeline, can be combined with the community tag. |
@jwk |
Get Weeves belonging to a specific profile jwk timeline. |
Each Weeve is transaction whom the content is stored as part of the data and sorted through tx tags.
Each transaction Weeve is required to have theses 2 tags:
App-Name
:argora
App-Version
: [1.0
,1.1
]
planet
: string
Get Weeves belonging to a specific planet timeline. If missing, get the last Weeves, metaweave and all planets included.
reply-to
:txid
|"world"
|"profile"
possible value | description |
---|---|
txid |
Get Weeves belonging to a specific Weeve txid sub-timeline (replies). |
"world" |
Get Weeves belonging to the main timeline, can be combined with the planet tag. |
"profile" |
Get Weeves belonging to a specific Weeve txid sub-timeline (replies). |
Using graphql:
{
transactions(
tags: [
{ name: "App-Name", values: "argora" }
{ name: "App-Version", values: ["1.0", "1.1"] }
]
owners: ["vLRHFqCw1uHu75xqB4fCDW-QxpkpJxBtFD9g4QYUbfw"]
) {
edges {
node {
id
owner { address }
block { timestamp }
}
}
}
}
Using ardb:
result = await ardb.search('transactions')
.tag('Protocol-Name', 'argora')
.tag('Protocol-Version', ['1.0', '1.1'])
.from('vLRHFqCw1uHu75xqB4fCDW-QxpkpJxBtFD9g4QYUbfw')
.find()
Using graphql:
{
transactions(
tags: [
{ name: "App-Name", values: "argora" }
{ name: "App-Version", values: ["1.0", "1.1"] }
{ name: "planet", values: "dog lovers" }
{ name: "reply-to", values: "world" }
]
) {
edges {
node {
id
owner { address }
block { timestamp }
}
}
}
}
Using ardb:
result = await ardb.search('transactions')
.tag('Protocol-Name', 'argora')
.tag('Protocol-Version', ['1.0', '1.1'])
.tag('planet', 'dog lovers')
.tag('reply-to', 'world')
.find()
Weeve transaction data is in a simple JSON format with an optional pictures
key pointing on the txid of the uploaded pictures.
⚠️ Although the protocol implements an array of picture txids, only one picture is currently supported by Argora at the moment.
{
"text": string,
"pictures": [txid]
}
To access the picture file, you only need to request your favorite gateway with the relevant txid.
- data:
{
"text": "State of the Ecosystem (Oct. 2021)\nProvided by The Verto Protocol!",
"pictures": ["JnBv9s1FXdKAwHGwIIpOrplJhcLqPsIkg-2S7Cgu0n0"]
}
Picture: https://arweave.net/JnBv9s1FXdKAwHGwIIpOrplJhcLqPsIkg-2S7Cgu0n0