Conta

Uma conta PolySmartChain é uma entidade com saldo do PSC que pode enviar transações no PolysMartChain.A conta pode ser controlada pelo usuário ou pode ser implantada como um contrato inteligente.

tipo de conta

Polysmartchain tem dois tipos de conta.

  • Externally Held - o controle do proprietário da chave privada

  • Contracts - Um tipo de contrato inteligente controlado por código e implantado na rede.Aprenda sobre contratos inteligentes.

Ambos os tipos de conta podem:

  • Recebendo, segurando e enviando PSC e Token

  • Interagindo com contratos inteligentes implantados

Principais diferenças

Externally Held

  • A criação de contas é gratuita

  • Pode iniciar transações

  • Somente PSC e token podem ser negociados entre todas as contas externas

Contratos

  • Existem custos associados à criação de contratos devido à necessidade de usar o espaço de armazenamento de rede

  • As transações só podem ser enviadas quando forem recebidas

  • As transações iniciadas de uma conta externa para uma conta de contrato podem acionar código que pode executar uma variedade de ações, como transferir tokens ou até mesmo criar novos contratos

Compreensão de contas

As contas PolysmartChain têm quatro campos:

  • nonce – um contador que mostra o número de transações enviadas da conta.Isso garantirá que as transações sejam processadas apenas uma vez.Em uma conta de contrato, esse número representa o número de contratos criados para essa conta.

  • balance – o número de wei que este endereço possui.Wei é a unidade de contagem de éter, e cada ETH tem 1e+18 wei.

  • codeHash - Este hash representa o código da conta na Máquina Virtual PolysMartChain (EVM).A conta do contrato programou peças de código que podem executar diferentes operações.Se a conta receber uma chamada de mensagem, este código EVM será executado.Ao contrário de outros campos de conta, ele não pode ser alterado.Todos os trechos de código são armazenados no banco de dados de status no hash correspondente para a recuperação subsequente.Este hash é chamado CodeHash.Para todas as contas externas, o campo CodeHash é um hash da string vazia.

  • storageRoot – às vezes chamado de hash de armazenamento.O hash de 256 bits do nó da raiz de Trie Merkle Patricia codificou o conteúdo armazenado da conta (mapeamento de valor inteiro de 256 bits) e é codificado como um trie como uma chave inteira mapeada do hash de 256 bits de 256 keccak para o hash para oValor inteiro codificado por RLP.Esse trie codifica o hash do conteúdo armazenado desta conta, que está vazio por padrão.

Contas detidas externamente e pares de chaves

Contas consistem em pares de criptografia de chave pública e privada.Eles ajudam a provar que a transação foi realmente assinada pelo remetente e impedir a falsificação.Sua chave privada é a chave que você usa para assinar transações, portanto, protege seu gerenciamento dos fundos associados à sua conta.Você nunca segura a criptocorrência, você segura a chave privada - os fundos estão sempre nos livros da Polysmartchain.

Isso impedirá que participantes maliciosos transmitem transações falsas, como você sempre pode verificar o remetente da transação.

Se Alice quiser enviar o PSC de sua própria conta para a conta de Bob, Alice precisa criar uma solicitação de transação e enviá-lo para a rede para verificação.O uso da criptografia de chave pública da Ethernet garante que Alice possa provar que iniciou a solicitação de transação em primeiro lugar.Sem criptografia, a eva adversária maliciosa poderia simplesmente transmitir publicamente uma solicitação que se parece com "Enviar 5 PSC da conta da Alice para a conta de Eve".E ninguém pode provar que não veio de Alice.

Criação de conta

Quando você deseja criar uma conta, a maioria das bibliotecas gera uma chave privada aleatória.

A chave privada consiste em 64 caracteres hexadecimais e pode ser armazenado criptografado com uma senha.

Por exemplo:

fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036415f

Gere a chave pública da chave privada usando o algoritmo de assinatura digital da curva elíptica.Você pode obter um endereço público para sua conta obtendo os últimos 20 bytes do hash Keccak-256 da chave pública e adicionando 0x na frente da soma de verificação.

A seguir, é apresentado um exemplo de criação de uma conta no console usando o GPSC's Personal_Newaccount

1> personal.newAccount()2Passphrase:3Repeat passphrase:4"0x5e97870f263700f46aa00d967821199b9bc5a120"5
6> personal.newAccount("h4ck3r")7"0x3d80b31a78c30fc628f20b2c89d7ddbf6e53cedc"8

É possível obter uma chave pública da sua chave privada, mas você não pode obter uma chave privada de uma chave pública.Isso significa que é fundamental manter a chave privada segura, pois o nome sugere privado.

Você precisa de uma chave privada para assinar mensagens e transações e produzir uma assinatura.Outros podem então usar a assinatura para obter sua chave pública e provar a autoria da mensagem.Em seu aplicativo, você pode usar a biblioteca JavaScript para enviar transações para a rede.

Contas de contrato

A conta do contrato também tem um endereço hexadecimal que consiste em 42 caracteres:

Por exemplo:

0x06012c8cf97bead5deae237070f9587f8e7a266d

La dirección del contrato generalmente se proporciona cuando el contrato se implementa en la cadena de bloques PolySmartChain. La dirección se genera a partir de la dirección del creador y el número de transacciones enviadas desde la dirección del creador ("nonce").

Nota na carteira

Uma conta é diferente de uma carteira.Uma conta é uma chave de propriedade do usuário e um par de endereços para uma conta Ethereum.Uma carteira é uma interface ou aplicativo, que permite interagir com sua conta PolySmartchain.

Expanding Resources

Last updated