Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save VictorTaelin/61423c8e293865491c34c158135add81 to your computer and use it in GitHub Desktop.
Save VictorTaelin/61423c8e293865491c34c158135add81 to your computer and use it in GitHub Desktop.
global ids / kindelia name system
GLOBAL IDS
==========
Todos os usuários da rede são endereçados por um ID global único.
Um ID global tem 120 bits. Existem dois tipos:
Usuários Internos
-----------------
São usuários controlados por um contrato na rede.
Encoding:
type : u12 // sempre 0b000000000000
contract_name : u72 // nome do contrato que administra o usuário
user_id : u36 // id interno do usuário nesse contrato
Sintaxe:
'BTC/abcdef' // 12 letras do contrato + 6 letras do id
Usuários Externos
-----------------
São usuários controlados por um usuário externo, assinado com ECDSA.
Encoding:
address_prefix : u120 // primeiros bits do endereço ethereum)
Sintaxe:
#x0123456789abcde0123456789abcde // primeiros 30 hex do endereço ethereum)
'aAkdOdlA_7uodAidkxqU' // primeiros 30 hex do endereço ethereum, em base64)
PS: endereços Ethereum que começam com 0x000 são incompatíveis;
se usá-lo, você podera ser impersonado. probabilidade: 1/4096.
o tooling irá impedir que você faça isso
KINDELIA NAME SYSTEM (KNS)
==========================
Um contrato na rede que permite ligar nomes longos aos seus ids globais.
Não afeta a rede, porém é amplamente utilizado pelo tooling externo.
- KNS://Kelvin_Santos/user ~> #x0123456789abcde0123456789abcde // usuário externo
- KNS://Kelvin_Santos/btc ~> 'BTC/KdIldj' // usuário Bitcoin
- KNS://Kelvin_Santos/eth ~> 'ETH/OdlAkd' // usuário Ethereum
- KNS://Kelvin_Santos/wife ~> "Miss Kelvina" // nome da esposa
- KNS://Kelvin_Santos/thesis -> "This is my Master's Thesis..." // tese de mestrado
example : {Entry name_system:u60 user:String field:u120}
example = {Entry 'KNS' "Kelvin_Santos" "EXT"}
!call gid 'NS.lookup' {Entry ...}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment