Created
June 16, 2022 18:51
-
-
Save VictorTaelin/61423c8e293865491c34c158135add81 to your computer and use it in GitHub Desktop.
global ids / kindelia name system
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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