FID
fid — это число, которое идентифицирует аккаунт Farcaster. Каждое сообщение несёт fid, от имени которого оно говорит, и каждое сообщение должно быть подписано ключом, зарегистрированным на этот fid.
Кто владеет fid
Заголовок раздела «Кто владеет fid»fid регистрируются в контракте IdRegistry в OP Mainnet. Адрес Ethereum, на который зарегистрирован fid,
— это его custody-адрес, и тот, у кого есть приватный ключ этого адреса, управляет
аккаунтом: он может добавлять и удалять ключи, которые подписывают сообщения, и переносить fid на другой
адрес. Seed-фраза содержит такие ключи; casty выводит из неё custody-адрес с индексом
--address-index, по умолчанию 0.
casty берёт адрес и интерфейс контракта из @farcaster/core; ничего из этого не
вписано в сам casty.
Как casty находит ваш
Заголовок раздела «Как casty находит ваш»Ноды Snapchain индексируют события IdRegistry. casty init спрашивает вашу ноду о последнем
событии регистрации вашего custody-адреса (/v1/onChainIdRegistryEventByAddress) и берёт из него
fid, так что Ethereum RPC не нужен.
У ноды, которая ещё синхронизируется, этого события может ещё не быть. Тогда casty init --op-rpc <url> вызывает
IdRegistry.idOf(address) через RPC OP Mainnet по вашему выбору. Fid, перенесённый на другой
адрес, не находится по старому.
Имя пользователя, или fname, существует отдельно от fid: нода хранит доказательства, которые связывают имя с fid.
casty follow @name сначала спрашивает доказательство у вашей ноды и обращается к публичному реестру на
fnames.farcaster.xyz, только если нода не знает имени. В ленте fid без
известного имени показывается как !<fid>.
Хранилище
Заголовок раздела «Хранилище»Fid может публиковать, только пока у него есть хранилище. casty init отказывается работать с fid без storage units;
см. Аренда хранилища.
Fid в этой документации
Заголовок раздела «Fid в этой документации»Примеры взяты из mock-ноды в репозитории. Её fid начинаются с 2000000001 и никому не принадлежат; тестовая seed-фраза владеет 2000000001.