Skip to main content

Core concepts of the Beacon

Beacon Traits

In the DegenScore Beacon, the user on-chain skill and reputation is condensed in bits of data known as "Traits".

The parameters of these traits are designed by the DegenScore team with the goal of making someone's crypto abilities easy to understand and practical to use both on-chain and off-chain.

Primary vs Secondary Traits

The DegenScore Beacon stores selected Traits about a user on-chain, making it directly consumable by 3rd party contracts. These Traits are called primary Traits.

Currently there is only one primary Trait which is the DegenScore itself.

Alongside the primary Traits the Beacon stores a reference to a off-chain resource, consumable by everyone, which returns metadata about a users Beacon including further Traits (secondary Traits).

The main difference between primary Traits and secondary Traits, besides how they are stored, is that primary Traits are only updated when the User decides to submit an update into his Beacon. Meanwhile the secondary traits, since they are off-chain, are updated ~once per day.

Trait Recency

Since there is no way of knowing how recent / up to date a primary Trait is, a user could present a Beacon with outdated Traits. To prevent this, a timestamp is saved on-chain alongside the primary Traits every time the user updates his Traits.

Beacon integrators should consider how important the recency of the primary Traits are for their applications and only accept Beacons which are within their max age.

ERC1155 and composability

The DegenScore Beacon is built with composability first: by implementing the read methods of the ERC1155 interface, the Beacon is compatible with existing NFT platforms and the broader web3 space.

The DegenScore team will build more experiences on top of the Beacon but anyone can use the Beacon as a permissionless API to understand & leverage users’ on-chain reputation.

caution

The ERC1155 methods should not be used for beacon integrations. They are included to allow compatibility with platforms like OpenSea. For integrations the Beacon Interface should be used.