-
Notifications
You must be signed in to change notification settings - Fork 7
Linked Addresses
Buyers and sellers within Ink Protocol are designated by their Ethereum addresses, which is how you uniquely identify and pay a specific user. Over time, users may accumulate multiple addresses that they use on different marketplaces or apps. Ink allows users to link addresses they own to merge their feedback and transaction histories and create a single reputation.
Linked addresses cannot be unlinked.
The concept of linked addresses is only manifested in the reputation aggregation processes since that's the only place where it really matters. Since linking addresses requires 2 mutual links, the reputation system must all keep this in mind when building an account's reputation. For example, Address A
has declared a link with Address B
, but Address B
did not reciprocate. This linking would mean nothing to the eyes of the reputation system.
Linking is merely expressed by the emission of an event (AccountLinked
). There is no state change to the contract since the contract does not need any linking data to operate. As mentioned above, the usefulness of linking addresses is only within the realms of computing reputation which is external of the Ink Protocol contract.
event AccountLinked(
address indexed from,
address indexed to
);
To declare a link to another address, use one of the following functions:
function linkWith(address _account) external;
function link(address _from, address _to) external;
Use the linkWith
function if you are the owner of address. If you are an authorized agent of the address you're linking linking from, you can use the link
function.