Skip to content

MetaweaveTeam/Argora-Protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

What is Argora protocol?

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.

Argora Protocol v1.2-beta

Required tags

Each transaction Weeve is required to have theses 2 tags:

  • Protocol-Name: argora
  • Protocol-Version: 1.2-beta

Optional tags

  • 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.

Argora Protocol v1.1 (Alpha)

Each Weeve is transaction whom the content is stored as part of the data and sorted through tx tags.

Required tags

Each transaction Weeve is required to have theses 2 tags:

  • App-Name: argora
  • App-Version: [1.0, 1.1]

Optional tags

  • 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).

Examples

Get the last Weeves of @arweave-sam wallet vLRHFqCw1uHu75xqB4fCDW-QxpkpJxBtFD9g4QYUbfw

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()

Get the dog lovers planet feed

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()

Data structure

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.

Example

Screenshot 2021-10-20 at 06 24 40

  • data:
{
  "text": "State of the Ecosystem (Oct. 2021)\nProvided by The Verto Protocol!",
  "pictures": ["JnBv9s1FXdKAwHGwIIpOrplJhcLqPsIkg-2S7Cgu0n0"]
}

Picture: https://arweave.net/JnBv9s1FXdKAwHGwIIpOrplJhcLqPsIkg-2S7Cgu0n0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published