bacen / pilotord-kit-onboarding

Documentação e arquivos de configuração para participação no Piloto do Real Digital
898 stars 214 forks source link

Acesso ao endereço do contrato RealTokenizado #33

Closed thiagodeev closed 1 year ago

thiagodeev commented 1 year ago

Olá. Entendi que o contrato AddressDiscovery será usado para se obter os endereços dos contratos inteligentes, porém fiquei com dúvidas em relação à obtenção do endereço do contrato RealTokenizado, pois pela descrição do construtor do RealTokenizado e pelas lives/workshops do BACEN que já foram ao ar até então subentende-se que cada participante terá a sua própria instância do contrato RealTokenizado, pois no construtor deste alguns dos parâmetros serão a identificação e o cnpj do participante.

No AddressDiscovery existe um mapping de: nome do contrato => endereço; é uma relação de 1 x 1. Dado que o mapping addressDiscovery é somente uma variável e não uma função, e que ao ser definido como public é criado um getter simples para essa variável, entendo que não existe nenhuma forma de estruturar uma condição de "se o participante X estiver interagindo, retorne o endereço Y". Como então cada participante conseguirá consultar o endereço da sua própria instância do contrato RealTokenizado se o mapping só permite um 'valor' para cada 'chave' e todos os participantes consultarão o mesmo mapping?

Dúvida à parte: eu iria abrir um tópico em "Discussions" mas reparei que nada lá foi respondido desde então. O BACEN vai responder somente através de issues?

aldenio commented 1 year ago

Prezado @thiagodeev,

Agradecemos sua colaboração. Demoramos um pouco para responder os tópicos em "Discussions", mas estamos respondendo sim. Sinta-se à vontade para abrir novos tópicos. A respeito do AddressDiscovery, responderei em comentário posterior.

aldenio commented 1 year ago

Prezado @thiagodeev ,

Os contratos do tipo RealTokenizado serão cadastrados e consultados no AddressDiscovery segundo o padrão "RealTokenizao@". Onde são os 8 primeiros dígitos numéricos do CNPJ do participante.

ps: caso sua dúvida tenha sido respondida, favor encerrar a issue.

thiagodeev commented 1 year ago

@aldenio, creio que houve um erro de digitação em sua resposta. Você realmente quis dizer "RealTokenizao@"?

E sobre os 8 primeiros dígitos do CNPJ, deverão no caso vir depois do "@"?

tzdesing commented 1 year ago

@thiagodeev acredito que seja isso mesmo, "RealTokenizado@12345678" por exemplo. Assim como o simbolo do token deve seguir a mesma linha BRL@12345678 ou DREX@12345678

raphaelconrado commented 1 year ago

Boa tarde pessoal, Porém alguém teria o endereço desse contrato na rede ? Entendi o funcionamento dele, porém ql o endereço que eu irei utiliza para conseguir acessar, quando plugo um explorer no nó, vejo vários contratos e não sei dizer qual deles seria esse.

thiagodeev commented 1 year ago

Boa tarde pessoal, Porém alguém teria o endereço desse contrato na rede ? Entendi o funcionamento dele, porém ql o endereço que eu irei utiliza para conseguir acessar, quando plugo um explorer no nó, vejo vários contratos e não sei dizer qual deles seria esse.

Quis dizer do contrato AddressDiscovery, certo? Recomendo pedir o endereço através de um email pro BACEN ou então abrir uma nova Issue/Discussão, pois talvez o BACEN não venha mais aqui responder por já considerar essa Issue 'answered'.

tzdesing commented 1 year ago

@raphaelconrado vc precisa pegar o nome do contrato (RealTokenizado@12345678) , coloca esse nome em um conversor kecak256 online, isso vai te gerar um hash. com esse hash vc conseguirá decobrir o Endereço do contrato. Ou através do explorer, o sirato por exemplo mostra os tokens emitidos na rede.