diff --git a/public/content/translations/pt-br/developers/docs/apis/backend/index.md b/public/content/translations/pt-br/developers/docs/apis/backend/index.md index e497cff3ae9..2ab1cfd9e0d 100644 --- a/public/content/translations/pt-br/developers/docs/apis/backend/index.md +++ b/public/content/translations/pt-br/developers/docs/apis/backend/index.md @@ -6,7 +6,7 @@ lang: pt-br Para um aplicativo de software interagir com a blockchain Ethereum (ou seja, leia os dados da blockchain e/ou envie transações para a rede), ele deve se conectar a um nó do Ethereum. -Para isso, cada cliente Ethereum implementa a especificação [JSON-RPC](/developers/docs/apis/json-rpc/), portanto, há um conjunto uniforme de [métodos](/developers/docs/apis/json-rpc/#json-rpc-methods) com os quais as aplicações podem contar. +Para este propósito, todos os clientes do Ethereum implementam a especificação [SON-RPC](/developers/docs/apis/json-rpc/), para que haja um conjunto uniforme de [métodos](/developers/docs/apis/json-rpc/#json-rpc-methods) nos quais os aplicativos podem confiar. Se você quiser usar uma linguagem de programação específica para se conectar com um nó Ethereum, existem várias bibliotecas de conveniência dentro do ecossistema que tornam isso muito mais fácil. Com essas bibliotecas, os desenvolvedores podem escrever intuitivamente métodos on-line para iniciar requisições JSON RPC (por debaixo dos panos) que interajam com a Ethereum. @@ -20,83 +20,67 @@ Essas bibliotecas abstraem muito da complexidade de interagir diretamente com um ## Bibliotecas disponíveis {#available-libraries} +### Serviços de nós e infraestrutura {#infrastructure-and-node-services} + **Alchemy -** **_Plataforma de Desenvolvimento Ethereum._** - [alchemy.com](https://www.alchemy.com/) -- [Documentação](https://docs.alchemyapi.io/) +- [Documentação](https://docs.alchemy.com/) - [GitHub](https://github.com/alchemyplatform) -- [Discord](https://discord.com/invite/A39JVCM) +- [Discord](https://discord.com/invite/alchemyplatform) -**BlockCypher -** **_APIs Web Ethereum._** +**All That Node - ** **_Nós-como-um-serviço._** -- [blockcypher.com](https://www.blockcypher.com/) -- [Documentação](https://www.blockcypher.com/dev/ethereum/) +- [All That Node.com](https://www.allthatnode.com/) +- [Documentação](https://docs.allthatnode.com) +- [Discord](https://discord.gg/GmcdVEUbJM) -**Blast, da Bware Labs -\*\***_ APIs descentralizadas para a Ethereum Mainnet ant Testnets._\*\* +**Blast, da Bware Labs -****_ APIs descentralizadas para a Ethereum Mainnet ant Testnets._** - [blastapi.io](https://blastapi.io/) - [Documentação](https://docs.blastapi.io) -- [Discord](https://discord.com/invite/VPkWESgtvV) +- [Discord](https://discord.gg/bwarelabs) -**Infura -** **_A API da Ethereum como serviço._** +**BlockPi -** **_Fornece serviços RPC mais eficientes e mais rápidos_** -- [infura.io](https://infura.io) -- [Documentação](https://infura.io/docs) -- [GitHub](https://github.com/INFURA) +- [blockpi.io](https://blockpi.io/) +- [Documentação](https://docs.blockpi.io/) +- [GitHub](https://github.com/BlockPILabs) +- [Discord](https://discord.com/invite/xTvGVrGVZv) **Gateway Cloudflare de Ethereum.** -- [cloudflare-eth.com](https://cloudflare-eth.com) +- [cloudflare-eth.com](https://www.cloudflare.com/application-services/products/web3/) -**Nó da Nuvem da Coinbase -** **_API de infraestrutura Blockchain._** - -- [Nó da Nuvem da Coinbase](https://www.coinbase.com/cloud/products/node) -- [Documentação](https://docs.cloud.coinbase.com/node/reference/welcome-to-node) - -**DataHub por Figment -** **_Serviços de API Web3 API com rede principal Ethereum e rede de testes._** - -- [DataHub](https://www.figment.io/datahub) -- [Documentação](https://docs.figment.io/introduction/what-is-datahub) +**Etherscan - Explorador de blocos e APIs de transações** +- [Documentação](https://docs.etherscan.io/) -**NFTPort -** **_Dados Ethereum e APIs Mint._** +**GetBlock-** **_Blockchain-as-a-service para desenvolvimento Web3_** -- [nftport.xyz](https://www.nftport.xyz/) -- [Documentação](https://docs.nftport.xyz/) -- [GitHub](https://github.com/nftport/) -- [Discord](https://discord.com/invite/K8nNrEgqhE) +- [GetBlock.io](https://getblock.io/) +- [Documentação](https://getblock.io/docs/) -**Nodesmith -** **_Acesso por API JSON-RPC a rede principal e rede de testes Ethereum._** +**Infura -** **_A API da Ethereum como serviço._** -- [nodesmith.io](https://nodesmith.io/network/ethereum/) -- [Documentação](https://nodesmith.io/docs/#/ethereum/apiRef) +- [infura.io](https://infura.io) +- [Documentação](https://docs.infura.io/api) +- [GitHub](https://github.com/INFURA) -**Ethercluster -** **_Execute o seu próprio serviço de API da Ethereum que suporta ETH e ETC._** +**Node RPC - _Provedor de EVM JSON-RPC econômico_** -- [ethercluster.com](https://www.ethercluster.com/) +- [noderpc.xyz](https://www.noderpc.xyz/) +- [Documentação](https://docs.noderpc.xyz/node-rpc) -**Chainstack -** **_Nós Ethereum compartilhados e dedicados como serviço._** +**NOWNodes - _Nós Completos e Exploradores de Blocos._** -- [chainstack.com](https://chainstack.com) -- [Documentação](https://docs.chainstack.com) -- [Referência da API Ethereum](https://docs.chainstack.com/api/ethereum/ethereum-api-reference) +- [NOWNodes.io](https://nownodes.io/) +- [Documentação](https://documenter.getpostman.com/view/13630829/TVmFkLwy#intro) **QuickNode -** **_Infraestrutura Blockchain como Serviço._** - [quicknode.com](https://quicknode.com) -- [Documentação](https://www.quicknode.com/docs) -- [Discord](https://discord.gg/NaR7TtpvJq) - -**Python Tooling -** **_Variedade de bibliotecas para interação com a Ethereum via Python._** - -- [py.ethereum.org](http://python.ethereum.org/) -- [web3.py GitHub](https://github.com/ethereum/web3.py) -- [web3.py Chat](https://gitter.im/ethereum/web3.py) - -**web3j -** **_Uma biblioteca de integração para Ethereum em Java/Android/Kotlin/Scala._** - -- [GitHub](https://github.com/web3j/web3j) -- [Documentação](https://docs.web3j.io/) -- [Gitter](https://gitter.im/web3j/web3j) +- [Documentação](https://www.quicknode.com/docs/welcome) +- [Discord](https://discord.gg/quicknode) **Rivet -** **_Ethereum e Ethereum Classic APIs como serviço, desenvolvido por software de código aberto._** @@ -104,12 +88,33 @@ Essas bibliotecas abstraem muito da complexidade de interagir diretamente com um - [Documentação](https://rivet.cloud/docs/) - [GitHub](https://github.com/openrelayxyz/ethercattle-deployment) +**Zmok -** **_Nós Ethereum orientados a velocidade como JSON-RPC/WebSockets API._** + +- [zmok.io](https://zmok.io/) +- [GitHub](https://github.com/zmok-io) +- [Documentação](https://docs.zmok.io/) +- [Discord](https://discord.gg/fAHeh3ka6s) + +### Ferramentas de desenvolvimento {#development-tools} + +**ethers-kt -** **_Biblioteca assíncrona de alto desempenho em Kotlin/Java/Android para blockchains baseadas em EVM._** + +- [GitHub](https://github.com/Kr1ptal/ethers-kt) +- [Exemplos](https://github.com/Kr1ptal/ethers-kt/tree/master/examples) +- [Discord](https://discord.gg/rx35NzQGSb) + **Nethereum -** **_Uma biblioteca de integração .NET de código aberto para blockchain._** - [GitHub](https://github.com/Nethereum/Nethereum) - [Documentação](http://docs.nethereum.com/en/latest/) - [Discord](https://discord.com/invite/jQPrR58FxX) +**Python Tooling -** **_Variedade de bibliotecas para interação com a Ethereum via Python._** + +- [py.ethereum.org](https://python.ethereum.org/) +- [web3.py GitHub](https://github.com/ethereum/web3.py) +- [web3.py Chat](https://gitter.im/ethereum/web3.py) + **QuikNode -** **_A plataforma definitiva de desenvolvimento de blockchains_** - [Tatum](https://tatum.io/) @@ -117,47 +122,86 @@ Essas bibliotecas abstraem muito da complexidade de interagir diretamente com um - [Documentação](https://docs.tatum.io/) - [Discord](https://discord.gg/EDmW3kjTC9) -**Watchdata -** **_Fornecer acesso API simples e confiável à blockchain Ethereum._** +**web3j -** **_Uma biblioteca de integração para Ethereum em Java/Android/Kotlin/Scala._** -- [Watchdata](https://watchdata.io/) -- [Documentação](https://docs.watchdata.io/) -- [Discord](https://discord.com/invite/TZRJbZ6bdn) +- [GitHub](https://github.com/web3j/web3j) +- [Documentação](https://docs.web3j.io/) +- [Gitter](https://gitter.im/web3j/web3j) -**Zmok -** **_Nós Ethereum orientados a velocidade como JSON-RPC/WebSockets API._** +### Serviços blockchain {#blockchain-services} -- [zmok.io](https://zmok.io/) -- [GitHub](https://github.com/zmok-io) -- [Documentação](https://docs.zmok.io/) -- [Discord](https://discord.gg/fAHeh3ka6s) +**BlockCypher -** **_APIs Web Ethereum._** -**NOWNodes - _Nós Completos e Exploradores de Blocos._** +- [blockcypher.com](https://www.blockcypher.com/) +- [Documentação](https://www.blockcypher.com/dev/ethereum/) -- [NOWNodes.io](https://nownodes.io/) -- [Documentação](https://documenter.getpostman.com/view/13630829/TVmFkLwy#intro) +**Chainbase -** **_Infraestrutura de dados web3 tudo-em-um para Ethereum._** + +- [chainbase.com](https://chainbase.com/) +- [Documentação](https://docs.chainbase.com/) +- [Discord](https://discord.gg/Wx6qpqz4AF) + +**Chainstack -** **_Nós Ethereum compartilhados e dedicados como serviço._** + +- [chainstack.com](https://chainstack.com) +- [Documentação](https://docs.chainbase.com/docs) +- [Referência da API Ethereum](https://docs.chainstack.com/reference/ethereum-getting-started) + +**Nó da Nuvem da Coinbase -** **_API de infraestrutura Blockchain._** + +- [Nó da Nuvem da Coinbase](https://www.coinbase.com/cloud) +- [Documentação](https://docs.cloud.coinbase.com/) + +**DataHub por Figment -** **_Serviços de API Web3 API com rede principal Ethereum e rede de testes._** + +- [DataHub](https://www.figment.io/) +- [Documentação](https://docs.figment.io/) **Moralis -** **_Provedor de API para EVM para uso corporativo._** -- [moralis.io](http://moralis.io) +- [moralis.io](https://moralis.io) - [Documentação](https://docs.moralis.io/) - [GitHub](https://github.com/MoralisWeb3) -- [Discord](https://discord.com/invite/KYswaxwEtg) +- [Discord](https://moralis.io/joindiscord/) - [Fórum](https://forum.moralis.io/) -\*_GetBlock- Blockchain como serviço para desenvolvimento Web3_ +**NFTPort -** **_Dados Ethereum e APIs Mint._** + +- [nftport.xyz](https://www.nftport.xyz/) +- [Documentação](https://docs.nftport.xyz/) +- [GitHub](https://github.com/nftport/) +- [Discord](https://discord.com/invite/K8nNrEgqhE) + +**Tokenview -** **_A plataforma geral de APIs blockchain multi-cripto._** + +- [services.tokenview.io](https://services.tokenview.io/) +- [Documentação](https://services.tokenview.io/docs?type=api) +- [GitHub](https://github.com/Tokenview) + +**Watchdata -** **_Fornecer acesso API simples e confiável à blockchain Ethereum._** + +- [Watchdata](https://watchdata.io/) +- [Documentação](https://docs.watchdata.io/) +- [Discord](https://discord.com/invite/TZRJbZ6bdn) + +**Covalent -** **_APIs de blockchain enriquecidas para mais de 200 redes._** + +- [covalenthq.com](https://www.covalenthq.com/) +- [Documentação](https://www.covalenthq.com/docs/api/) +- [GitHub](https://github.com/covalenthq) +- [Discord](https://www.covalenthq.com/discord/) -- [GetBlock.io](https://getblock.io/) -- [Documentação](https://getblock.io/docs/) ## Leitura adicional {#further-reading} -_Conhece algum recurso da comunidade que o ajudou? Edite essa página e adicione!_ +_Conhece um recurso da comunidade que te ajudou? Edite essa página e adicione!_ ## Tópicos relacionados {#related-topics} -- [Nós e clientes](/developers/docs/nodes-and-clients/) +- [ Nós e clientes](/developers/docs/nodes-and-clients/) - [Estruturas de desenvolvimento](/developers/docs/frameworks/) ## Tutoriais relacionados {#related-tutorials} -- [Configure o Web3js para usar a blockchain Ethereum em JavaScript](/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/) _– Instruções para configurar o web3.js em seu projeto._ -- [Chamando um contrato inteligente do JavaScript](/developers/tutorials/calling-a-smart-contract-from-javascript/) _– Usando o token do DAI, veja como os contratos de chamadas funcionam usando JavaScript._ +- [Configure Web3js para usar a blockchain Ethereum em Javascript](/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/) _ – Instruções para configurar web3.js no seu projeto._ +- [Chamando um contrato inteligente do JavaScript](/developers/tutorials/calling-a-smart-contract-from-javascript/) _ – Usando o token do DAI, veja como os contratos de chamadas funcionam usando JavaScript._ diff --git a/public/content/translations/pt-br/developers/docs/apis/javascript/index.md b/public/content/translations/pt-br/developers/docs/apis/javascript/index.md index 6e7de042142..aa7ef7ce580 100644 --- a/public/content/translations/pt-br/developers/docs/apis/javascript/index.md +++ b/public/content/translations/pt-br/developers/docs/apis/javascript/index.md @@ -6,9 +6,9 @@ lang: pt-br Para que um aplicativo web interaja com a cadeia de blocos Ethereum (ou seja, leia os dados da blockchain e/ou envie transações para a rede), ele deve se conectar a um nó Ethereum. -Para esse propósito, cada cliente Ethereum implementa a especificação [JSON-RPC](/developers/docs/apis/json-rpc/), então há um conjunto uniforme de [métodos](/developers/docs/apis/json-rpc/#json-rpc-methods) com os quais os aplicativos podem conta. +Para esse propósito, cada cliente Ethereum implementa a especificação [JSON-RPC](/developers/docs/apis/json-rpc/), para que haja um conjunto uniforme de [métodos](/developers/docs/apis/json-rpc/#json-rpc-methods) com os quais os aplicativos podem conta. -Se você quiser usar JavaScript para se conectar a um nó Ethereum, é possível usar o JavaScript vanilla, mas existem várias bibliotecas convenientes dentro do ecossistema que tornam isso muito mais fácil. Com essas bibliotecas, desenvolvedores podem escrever métodos intuitivos, one-line para inicializar solicitações JSON RPC (sob o capô) que interagem com Ethereum. +Se você quiser usar JavaScript para se conectar a um nó Ethereum, é possível usar o JavaScript vanilla, mas existem várias bibliotecas convenientes dentro do ecossistema que tornam isso muito mais fácil. Com essas bibliotecas, os desenvolvedores podem escrever intuitivamente métodos on-line para iniciar requisições JSON RPC (por debaixo dos panos) que interajam com a Ethereum. Observe que, desde [A Fusão](/roadmap/merge/) (The Merge), duas partes conectadas do software Ethereum — um cliente de execução e um cliente de consenso — são necessárias para executar um nó. Certifique-se de que seu nó inclui tanto o cliente de execução quanto o consensual. Se o seu nó não estiver na sua máquina local (por exemplo, seu nó está sendo executado em uma instância da AWS) atualize os endereços IP no tutorial adequadamente. Para obter mais informações, veja nossa página no [executando um nó](/developers/docs/nodes-and-clients/run-a-node/). @@ -29,12 +29,12 @@ Usando provedores, essas bibliotecas permitem que você se conecte à Ethereum e **Exemplo de Ethers** ```js -// A Web3Provider wraps a standard Web3 provider, which is -// what MetaMask injects as window.ethereum into each page -const provider = new ethers.providers.Web3Provider(window.ethereum) +// Um BrowserProvider envolve um provedor Web3 padrão, que é +// o que o MetaMask injeta como window.ethereum em cada página +const provider = new ethers.BrowserProvider(window.ethereum) -// The MetaMask plugin also allows signing transactions to -// send ether and pay to change state within the blockchain. +// O plugin MetaMask também permite assinar transações para +// enviar ether e pagar para alterar o estado dentro da blockchain. // Para isso, precisamos do signatário da conta... const signer = provider.getSigner() ``` @@ -47,7 +47,7 @@ var web3 = new Web3("http://localhost:8545") var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545")) // mudar provedor -web3.etProvider("ws://localhost:8546") +web3. etProvider("ws://localhost:8546") // ou web3.setProvider(new Web3.providers.WebsocketProvider("ws://localhost:8546")) @@ -80,29 +80,29 @@ Veja alguns exemplos de Ethers // Cria uma instância de carteira de um mnemonic... mnemonic = "announce room limb pattern dry unit scale effort smooth jazz weasel alcohol" -walletMnemonic = Wallet.fromMnemonic(mnemonic) +walletMnemonic = Wallet.fromPhrase(mnemonic) -// ...ou de uma chave privada +// ...ou a partir de uma chave privada walletPrivateKey = new Wallet(walletMnemonic.privateKey) walletMnemonic.address === walletPrivateKey.address // true -// Endereço como uma Promise para Signer API +// O endereço como uma Promise conforme a API Signer walletMnemonic.getAddress() // { Promise: '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1' } -// Um endereço da carteira também está disponível de forma síncrona +// O endereço de uma Wallet também está disponível de forma síncrona walletMnemonic.address // '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1' -// Componentes internos criptográficos +// Os componentes criptográficos internos walletMnemonic.privateKey // '0x1da6847600b0ee25e9ad9a52abbd786dd2502fa4005dd5af9310b7cc7a3b25db' walletMnemonic.publicKey // '0x04b9e72dfd423bcf95b3801ac93f4392be5ff22143f9980eb78b3a860c4843bfd04829ae61cdba4b3b1978ac5fc64f5cc2f4350e35a108a9c9a92a81200a60cd64' -// O mnemônico da carteira +// A frase mnemônica da wallet walletMnemonic.mnemonic // { // locale: 'en', @@ -110,8 +110,8 @@ walletMnemonic.mnemonic // phrase: 'announce room limb pattern dry unit scale effort smooth jazz weasel alcohol' // } -// Nota: Uma carteira criada com chave privada não possui -// um mnemônico (a derivação previne isso) +// Nota: Uma wallet criada com uma chave privada não +// possui uma frase mnemônica (a derivação a impede) walletPrivateKey.mnemonic // null @@ -128,7 +128,8 @@ tx = { walletMnemonic.signTransaction(tx) // { Promise: '0xf865808080948ba1f109551bd432803012645ac136ddd64dba72880de0b6b3a7640000801ca0918e294306d177ab7bd664f5e141436563854ebe0a3e523b9690b4922bbb52b8a01181612cec9c431c4257a79b8c9f0c980a2c49bb5a0e6ac52949163eeb565dfc' } -// O método connect retorna uma nova instância da carteira conectada a um provedor +// O método connect retorna uma nova instância da +// Wallet conectada a um provedor wallet = walletMnemonic.connect(provider) // Consultando a rede @@ -280,11 +281,11 @@ ethers.utils.formatEther(balance) ## Leitura adicional {#further-reading} -_Conhece algum recurso da comunidade que o ajudou? Edite essa página e adicione!_ +_Conhece um recurso da comunidade que te ajudou? Edite essa página e adicione!_ ## Tópicos relacionados {#related-topics} -- [Nós e clientes](/developers/docs/nodes-and-clients/) +- [ Nós e clientes](/developers/docs/nodes-and-clients/) - [Estruturas de desenvolvimento](/developers/docs/frameworks/) ## Tutoriais relacionados {#related-tutorials} diff --git a/public/content/translations/pt-br/developers/docs/apis/json-rpc/index.md b/public/content/translations/pt-br/developers/docs/apis/json-rpc/index.md index d9b5bf1c5a7..e8d0c41ee4a 100644 --- a/public/content/translations/pt-br/developers/docs/apis/json-rpc/index.md +++ b/public/content/translations/pt-br/developers/docs/apis/json-rpc/index.md @@ -22,11 +22,11 @@ Embora você possa optar por interagir diretamente com clientes da Ethereum usan Esta página trata principalmente da API JSON-RPC usada pelos clientes de execução Ethereum. No entanto, os clientes de consenso também têm uma API RPC que permite aos usuários consultar informações sobre o nó, solicitar blocos Beacon, estado do Beacon, e outras informações relacionadas ao consenso diretamente de um nó. Essa API está documentada na [página da Web da API Beacon](https://ethereum.github.io/beacon-APIs/#/). -Uma API interna também é usada para comunicação entre clientes dentro de um nó - ou seja, permite que o cliente de consenso e o cliente de execução troquem dados. Ela é chamada de “API Engine” e suas especificações estão disponíveis no [GitHub](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md). +Uma API interna também é usada para comunicação entre clientes dentro de um nó - ou seja, permite que o cliente de consenso e o cliente de execução troquem dados. Ela é chamada de “API Engine” e suas especificações estão disponíveis no [Github](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md). ## Especificação do cliente de execução {#spec} -[Leia a especificação completa da API JSON-RPC no GitHub](https://github.com/ethereum/execution-apis). +[Leia a especificação completa da API JSON-RPC no GitHub](https://github.com/ethereum/execution-apis). Esta API está documentada na [página da Web da API de execução](https://ethereum.github.io/execution-apis/api-documentation/) e inclui um Inspetor para testar todos os métodos disponíveis. ## Convenções {#conventions} @@ -53,7 +53,7 @@ Ao codificar dados não formatados (arrays de bytes, endereços de contas, hashe Aqui estão alguns exemplos: - 0x41 (tamanho 1, "A") -- 0x004200 (tamanho 3, "\0B\0") +- 0x004200 (tamanho 3, "0B0") - 0x (tamanho 0, "") - ERRADO: 0xf0f0f (deve ser um número par de dígitos) - ERRADO: 004200 (deve ser prefixado 0x) @@ -74,7 +74,7 @@ As seguintes opções são possíveis para o parâmetro defaultBlock: - `String HEX` - um número de bloco inteiro - `String "earliest"` para o bloco mais antigo/de início -- `String "latest"` - para o bloco minerado mais recente +- `String "latest"` - para o último bloco proposto - `String "safe"` – para o último bloco de cabeçalho seguro - `String "finalized"` – para o último bloco finalizado - `String "pendente"` – para o estado/transações pendentes @@ -132,6 +132,10 @@ Alguns dos métodos JSON-RPC principais exigem dados da rede Ethereum, se enquad - [eth_getUncleByBlockHashAndIndex](#eth_getunclebyblockhashandindex) - [eth_getUncleByBlockNumberAndIndex](#eth_getunclebyblocknumberandindex) +## Playground da API JSON-RPC + +Você pode usar a [ferramenta de playground](https://ethereum-json-rpc.com) para descobrir e testar os métodos da API. Ele também mostra quais métodos e redes são suportados por vários provedores de nós. + ## Métodos de API JSON-RPC {#json-rpc-methods} ### web3_clientVersion {#web3_clientversion} @@ -142,20 +146,20 @@ Retorna a versão atual do cliente. Nenhum -**Retorna** +**Returnos** `String` - A versão atual do cliente **Exemplo** ```js -// Request +// Solicitação curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' -// Result +// Resultado { "id":67, "jsonrpc":"2.0", - "result": "Mist/v0.9.3/darwin/go1.4.1" + "result": "Geth/v1.12.1-stable/linux-amd64/go1.19.1" } ``` @@ -165,7 +169,7 @@ Retorna Keccak-256 (_não_ o SHA3-256 padronizado) dos dados fornecidos. **Parâmetros** -1. `DATA` - Os dados para converter em um hash SHA3 +1. `DATA` - Os dados a serem convertidos em um hash SHA3 ```js params: ["0x68656c6c6f20776f726c64"] @@ -304,12 +308,57 @@ Nenhum **Retorna** -`Object|Boolean`, um objeto com dados de status da sincronização ou `FALSE`, quando não sincronizado: +Os dados de retorno precisos variam entre as implementações do cliente. Todos os clientes retornam `False` quando o nó não está sincronizando, e todos os clientes retornam os seguintes campos. + +`Object|Boolean`, um objeto com dados de status da sincronização ou `FALSE`, quando não está sincronizando: - `startingBlock`: `QUANTITY` — O bloco no qual a importação começou (só será reiniciado após a sincronização atingir seu cabeçalho) - `currentBlock`: `QUANTITY` — O bloco atual, o mesmo que eth_blockNumber - `highestBlock`: `QUANTITY` — O bloco mais alto estimado +No entanto, os clientes individuais também podem fornecer dados adicionais. Por exemplo, Geth retorna o seguinte: + +```json +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "currentBlock": "0x3cf522", + "healedBytecodeBytes": "0x0", + "healedBytecodes": "0x0", + "healedTrienodes": "0x0", + "healingBytecode": "0x0", + "healingTrienodes": "0x0", + "highestBlock": "0x3e0e41", + "startingBlock": "0x3cbed5", + "syncedAccountBytes": "0x0", + "syncedAccounts": "0x0", + "syncedBytecodeBytes": "0x0", + "syncedBytecodes": "0x0", + "syncedStorage": "0x0", + "syncedStorageBytes": "0x0" + } +} +``` + +Enquanto Besu retorna: + +```json +{ + "jsonrpc": "2.0", + "id": 51, + "result": { + "startingBlock": "0x0", + "currentBlock": "0x1518", + "highestBlock": "0x9567a3", + "pulledStates": "0x203ca", + "knownStates": "0x200636" + } +} +``` + +Consulte a documentação do seu cliente específico para obter mais detalhes. + **Exemplo** ```js @@ -337,11 +386,13 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1} Retorna o endereço de coinbase do cliente. +> **Nota:** Este método foi descontinuado a partir da versão **v1.14.0** e não é mais suportado. Tentar usar este método resultará em um erro de "Método não suportado". + **Parâmetros** Nenhum -**Retorna** +**Returnos** `DATA`, 20 bytes - O endereço atual da coinbase. @@ -358,7 +409,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":6 } ``` -## eth_chainId {#eth_chainId} +### eth_chainId {#eth_chainId} Retorna a ID da cadeia usada para assinar transações protegidas contra reprodução. @@ -366,7 +417,7 @@ Retorna a ID da cadeia usada para assinar transações protegidas contra reprodu Nenhum -**Retorna** +**Returnos** `chainId`, valor hexadecimal como uma cadeia de caracteres representando o inteiro da ID da cadeia atual. @@ -385,13 +436,13 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":67 ### eth_mining {#eth_mining} -Retorna `true` se o cliente estiver ativamente minerando novos blocos. +Retorna `true` se o cliente estiver minerando novos blocos de maneira ativa. Isso só pode retornar `true` para redes de prova de trabalho e pode não estar disponível em alguns clientes desde a [Fusão](/roadmap/merge/). **Parâmetros** Nenhum -**Retorna** +**Returnos** `Boolean` — retorna `true` do cliente que está minerando, caso contrário, `false`. @@ -410,13 +461,13 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_mining","params":[],"id":71} ### eth_hashrate {#eth_hashrate} -Retorna o número de hashes por segundo do nó que está minerando. +Retorna o número de hashes por segundo do nó que está minerando. Isso só pode retornar `true` para redes de prova de trabalho e pode não estar disponível em alguns clientes desde a [Fusão](/roadmap/merge/). **Parâmetros** Nenhum -**Retorna** +**Returnos** `QUANTITY` — número de hashes por segundo. @@ -435,13 +486,13 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_hashrate","params":[],"id":7 ### eth_gasPrice {#eth_gasprice} -Retorna o preço atual por gás em Wei. +Retorna uma estimativa do preço atual por unidade de gás em wei. Por exemplo, o cliente Besu examina os últimos 100 blocos e retorna o preço unitário médio do gás por padrão. **Parâmetros** Nenhum -**Retorna** +**Returnos** `QUANTITY` — Número inteiro do preço atual do gás em Wei. @@ -466,9 +517,9 @@ Retorna uma lista de endereços de propriedade do cliente. Nenhum -**Retorna** +**Returnos** -`Matriz de DADOS`, 20 Bytes — endereços de propriedade do cliente. +`Array of DATA`, 20 Bytes — endereços de propriedade do cliente. **Exemplo** @@ -491,7 +542,7 @@ Retorna o número do bloco mais recente. Nenhum -**Retorna** +**Returnos** `QUANTITY` — Inteiro do número do bloco atual no qual o cliente está. @@ -515,13 +566,13 @@ Retorna o saldo da conta do endereço fornecido. **Parâmetros** 1. `DATA`, 20 Bytes - Endereço para verificar o saldo. -2. `QUANTITY|TAG` – número de bloco inteiro, ou a cadeia de caracteres `"latest"`, `"earliest"` ou `"pending"`. Consulte o [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block) +2. `QUANTITY|TAG` - número de bloco inteiro ou a string `"latest"`, `"earliest"`, `"pending"`, `"safe"` ou `"finalized"`. Consulte o [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block) ```js params: ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"] ``` -**Retorna** +**Returnos** `QUANTITY` — Inteiro do saldo atual em Wei. @@ -546,9 +597,9 @@ Retorna o valor de uma posição de armazenamento em um determinado endereço. 1. `DATA`, 20 Bytes - Endereço do armazenamento. 2. `QUANTITY` - Número inteiro da posição no armazenamento. -3. `QUANTITY|TAG` – número de bloco inteiro, ou a cadeia de caracteres `"latest"`, `"earliest"` ou `"pending"`. Consulte o [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block) +3. `QUANTITY|TAG` - número de bloco inteiro ou a string `"latest"`, `"earliest"`, `"pending"`, `"safe"`, `"finalized"`. Veja o [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block) -**Retorna** +**Returnos** `DATA` — O valor nessa posição de armazenamento. @@ -578,7 +629,7 @@ Recuperar um elemento do mapa é mais difícil. A posição de um elemento no ma keccak(LeftPad32(key, 0), LeftPad32(map position, 0)) ``` -Isso significa que, para recuperar o armazenamento na pos1["0x391694e7e0b0cce554cb130d723a9d27458f9298"] precisamos calcular a posição com: +Isso significa que para recuperar o armazenamento na pos1["0x391694e7e0b0cce554cb130d723a9d27458f9298"] precisamos calcular a posição com: ```js keccak( @@ -612,7 +663,7 @@ Retorna o número de transações _enviadas_ a partir de um endereço. **Parâmetros** 1. `DATA`, 20 Bytes - Endereço. -2. `QUANTITY|TAG` – número de bloco inteiro, ou a cadeia de caracteres `"latest"`, `"earliest"` ou `"pending"`. Consulte o [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block) +2. `QUANTITY|TAG` - número de bloco inteiro ou a string `"latest"`, `"earliest"`, `"pending"`, `"safe"` ou `"finalized"`. Consulte o [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block) ```js params: [ @@ -621,7 +672,7 @@ params: [ ] ``` -**Retorna** +**Returnos** `QUANTITY` — Inteiro do número de transações enviadas a partir desse endereço. @@ -647,10 +698,10 @@ Retorna o número de transações em um bloco a partir de um bloco que correspon 1. `DATA`, 32 bytes - Hash de um bloco ```js -params: ["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"] +params: ["0xd03ededb7415d22ae8bac30f96b2d1de83119632693b963642318d87d1bece5b"] ``` -**Retorna** +**Returnos** `QUANTITY` — Inteiro do número de transações nesse bloco. @@ -658,12 +709,12 @@ params: ["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"] ```js // Request -curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}' +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params":["0xd03ededb7415d22ae8bac30f96b2d1de83119632693b963642318d87d1bece5b"],"id":1}' // Result { "id":1, "jsonrpc": "2.0", - "result": "0xb" // 11 + "result": "0x8b" // 139 } ``` @@ -673,15 +724,15 @@ Retorna o número de transações em um bloco a partir de um bloco que correspon **Parâmetros** -1. `QUANTITY|TAG` – número inteiro de um bloco, ou a cadeira de caracteres `"earliest"`, `"latest"` ou `"pending"`, como no [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block). +1. `QUANTITY|TAG` - inteiro de um número de bloco, ou a string `"earliest"`, `"latest"`, `"pending"`, `"safe"` ou `"finalized"`, como no [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block). ```js params: [ - "0xe8", // 232 + "0x13738ca", // 20396234 ] ``` -**Retorna** +**Returnos** `QUANTITY` — Inteiro do número de transações nesse bloco. @@ -689,12 +740,12 @@ params: [ ```js // Request -curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0xe8"],"id":1}' +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0x13738ca"],"id":1}' // Result { "id":1, "jsonrpc": "2.0", - "result": "0xa" // 10 + "result": "0x8b" // 139 } ``` @@ -707,10 +758,10 @@ Retorna o número de transações em um bloco a partir de um bloco que correspon 1. `DADOS`, 32 bytes - hash de um bloco ```js -params: ["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"] +params: ["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2"] ``` -**Retorna** +**Returnos** `QUANTITY` — Inteiro do número de transações nesse bloco. @@ -718,7 +769,7 @@ params: ["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"] ```js // Request -curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}' +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2"],"id":1}' // Result { "id":1, @@ -733,7 +784,7 @@ Retorna o número de transações em um bloco a partir de um bloco que correspon **Parâmetros** -1. `QUANTITY|TAG` – número inteiro de um bloco ou a cadeia de caracteres "latest", "earliest" ou "pending". Consulte [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block) +1. `QUANTITY|TAG` - inteiro de um número de bloco, ou a string `"latest"`, `"earliest"`, `"pending"`, `"safe"` ou `"finalized"`. Veja o [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block) ```js params: [ @@ -741,7 +792,7 @@ params: [ ] ``` -**Retorna** +**Returnos** `QUANTITY` — Inteiro do número de transações nesse bloco. @@ -754,7 +805,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockNumber", { "id":1, "jsonrpc": "2.0", - "result": "0x1" // 1 + "result": "0x0" // 0 } ``` @@ -765,16 +816,16 @@ Retorna o código em um endereço fornecido. **Parâmetros** 1. `DATA`, 20 Bytes - Endereço -2. `QUANTITY|TAG` – número de bloco inteiro, ou a cadeia de caracteres `"latest"`, `"earliest"` ou `"pending"`. Consulte o [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block) +2. `QUANTITY|TAG` - número de bloco inteiro ou a string `"latest"`, `"earliest"`, `"pending"`, `"safe"` ou `"finalized"`. Consulte o [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block) ```js params: [ - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "0x2", // 2 + "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "0x5daf3b", // 6139707 ] ``` -**Retorna** +**Returnos** `DATA` — O código do endereço fornecido. @@ -782,12 +833,12 @@ params: [ ```js // Request -curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCode","params":["0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "0x2"],"id":1}' +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCode","params":["0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "0x5daf3b"],"id":1}' // Result { "id":1, "jsonrpc": "2.0", - "result": "0x600160008035811a818181146012578301005b601b6001356025565b8060005260206000f25b600060078202905091905056" + "result": "0x6060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a0029" } ``` @@ -804,7 +855,7 @@ Observação: o endereço de assinatura deve estar desbloqueado. 1. `DADOS`, 20 Bytes - endereço 2. `DATA`, N Bytes - Mensagem para assinar -**Retorna** +**Returnos** `DATA`: assinatura @@ -829,17 +880,18 @@ Assina uma transação que pode ser enviada à rede posteriormente usando [eth_s 1. `Objeto` - O objeto da transação -- `from`: `DATA`, 20 Bytes - O endereço de onde a transação é enviada. -- `to`: `DATA`, 20 Bytes - (opcional ao criar um novo contrato) O endereço para o qual a transação é direcionada. -- `gas`: `QUANTITY` - (opcional, padrão: 90000) Inteiro do gás fornecido para a execução da transação. Retornará o gás não utilizado. +- `type`: +- `from`: `DATA`, 20 Bytes — Endereço de onde a transação é enviada. +- `to`: `DATA`, 20 Bytes — (opcional ao criar um novo contrato) O endereço para o qual a transação é direcionada. +- `gas`: `QUANTITY` — (opcional, padrão: 90000) Inteiro do gás fornecido para a execução da transação. Retornará o gás não utilizado. - `gasPrice`: `QUANTITY` — (opcional, padrão: a ser determinado) Inteiro do gasPrice usado para cada gás pago, em Wei. - `valor`: `QUANTITY` — (opcional) Inteiro do valor enviado com esta transação, em Wei. -- `dados`: `DADOS` - O código compilado de um contrato OU o hash da assinatura do método invocado e os parâmetros codificados. -- `nonce`: `QUANTITY` - (opcional) Inteiro de um nonce. Isso permite sobrescrever suas próprias transações pendentes que usam o mesmo nonce. +- `data`: `DATA` — Código compilado de um contrato OU do hash da assinatura do método invocado e parâmetros codificados. +- `nonce`: `QUANTITY` — (opcional) Inteiro de um nonce. Isso permite substituir suas próprias transações pendentes que usam o mesmo nonce. -**Retorna** +**Returnos** -`DATA` — O objeto da transação assinada. +`DATA`: o objeto de transação codificado em RLP assinado pela conta especificada. **Exemplo** @@ -856,7 +908,7 @@ curl -X POST --data '{"id": 1,"jsonrpc": "2.0","method": "eth_signTransaction"," ### eth_sendTransaction {#eth_sendtransaction} -Cria uma nova transação de chamada de mensagem ou uma criação de contrato, se o campo de dados contiver código. +Cria uma nova transação de chamada de mensagem ou uma criação de contrato, se o campo de dados contiver código, e o assina usando a conta especificada `em`. **Parâmetros** @@ -867,7 +919,7 @@ Cria uma nova transação de chamada de mensagem ou uma criação de contrato, s - `gas`: `QUANTITY` — (opcional, padrão: 90000) Inteiro do gás fornecido para a execução da transação. Retornará o gás não utilizado. - `gasPrice`: `QUANTITY` — (opcional, padrão: a ser determinado) Inteiro do gasPrice usado para cada gás pago. - `valor`: `QUANTITY` — (opcional) Inteiro do valor enviado com esta transação. -- `data`: `DATA` — Código compilado de um contrato OU do hash da assinatura do método invocado e parâmetros codificados. +- `input`: `DATA` - O código compilado de um contrato OU o hash da assinatura do método invocado e dos parâmetros codificados. - `nonce`: `QUANTITY` — (opcional) Inteiro de um nonce. Isso permite substituir suas próprias transações pendentes que usam o mesmo nonce. ```js @@ -878,16 +930,17 @@ params: [ gas: "0x76c0", // 30400 gasPrice: "0x9184e72a000", // 10000000000000 value: "0x9184e72a", // 2441406250 - data: "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675", + input: + "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675", }, ] ``` -**Retorna** +**Returnos** -`DATA`, 32 bytes - o hash da transação ou o hash zero se a transação ainda não estiver disponível. +`DATA`, 32 Bytes — O hash da transação ou o hash zero se a transação ainda não estiver disponível. -Use [eth_getTransactionReceipt](#eth_gettransactionreceipt) para obter o endereço do contrato, após a transação ter sido minerada, quando você criou um contrato. +Use [eth_getTransactionReceipt](#eth_gettransactionreceipt) para obter o endereço do contrato, depois de a transação ter sido proposta em um bloco, quando você criou um contrato. **Exemplo** @@ -916,11 +969,11 @@ params: [ ] ``` -**Retorna** +**Returnos** `DATA`, 32 Bytes — O hash da transação ou o hash zero se a transação ainda não estiver disponível. -Use [eth_getTransactionReceipt](#eth_gettransactionreceipt) para obter o endereço do contrato, após a transação ter sido minerada, quando você criou um contrato. +Use [eth_getTransactionReceipt](#eth_gettransactionreceipt) para obter o endereço do contrato, depois de a transação ter sido proposta em um bloco, quando você criou um contrato. **Exemplo** @@ -937,7 +990,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params" ### eth_call {#eth_call} -Executa uma nova chamada de mensagem imediatamente sem criar uma transação na blockchain. +Executa uma nova chamada de mensagem imediatamente sem criar uma transação na blockchain. Frequentemente usado para executar funções de contrato inteligente somente leitura, por exemplo, o `balanceOf` para um contrato ERC-20. **Parâmetros** @@ -948,11 +1001,11 @@ Executa uma nova chamada de mensagem imediatamente sem criar uma transação na - `gas`: `QUANTITY` — (opcional) Inteiro do gás fornecido para a execução da transação. eth_call consome zero gás, mas este parâmetro pode ser necessário para algumas execuções. - `gasPrice`: `QUANTITY` — (opcional) Inteiro do gasPrice usado para cada gás pago - `valor`: `QUANTITY` — (opcional) Inteiro do valor enviado com esta transação -- `data`: `DATA` — (opcional) Hash da assinatura do método e parâmetros codificados. Para obter mais detalhes, consulte o [Contrato Ethereum ABI na documentação do Solidity](https://docs.soliditylang.org/en/latest/abi-spec.html) +- `input`: `DATA` - (opcional) Hash da assinatura do método e parâmetros codificados. Para obter mais detalhes, consulte o [Contrato Ethereum ABI na documentação do Solidity](https://docs.soliditylang.org/en/latest/abi-spec.html). -2. `QUANTITY|TAG` – número de bloco inteiro, ou a cadeia de caracteres `"latest"`, `"earliest"` ou `"pending"`. Consulte o [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block) +2. `QUANTITY|TAG` - número de bloco inteiro ou a string `"latest"`, `"earliest"`, `"pending"`, `"safe"` ou `"finalized"`. Consulte o [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block) -**Retorna** +**Returnos** `DATA` — O valor de retorno do contrato executado. @@ -971,13 +1024,13 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_call","params":[{see above}] ### eth_estimateGas {#eth_estimategas} -Gera e retorna uma estimativa de quanto gás é necessário para permitir que a transação seja concluída. A transação não será adicionada à blockchain. Observe que a estimativa pode ser significativamente maior do que a quantidade de gás realmente usada pela transação, por vários motivos, incluindo a mecânica do EVM e o desempenho do nó. +Gera e retorna uma estimativa de quantas unidades de gás são necessárias para permitir que a transação seja concluída. A transação não será adicionada à blockchain. Observe que a estimativa pode ser significativamente maior do que a quantidade de gás realmente usada pela transação, por vários motivos, incluindo a mecânica do EVM e o desempenho do nó. **Parâmetros** -Veja os parâmetros do [eth_call](#eth_call), embora todas as propriedades sejam opcionais. Se nenhum limite de gás for especificado, o geth usa o limite de gás do bloco pendente como um limite superior. Consequentemente, a estimativa retornada poderá não ser suficiente para executar a chamada/transação quando a quantidade de gás for maior que o limite de gás do bloco pendente. +Veja os parâmetros do [eth_call](#eth_call), a menos que todas as propriedades sejam opcionais. Se nenhum limite de gás é especificado, o geth usa o limite de gás do bloco pendente como um limite superior. Consequentemente, a estimativa retornada poderá não ser suficiente para executar a chamada/transação quando a quantidade de gás for maior que o limite de gás do bloco pendente. -**Retorna** +**Returnos** `QUANTITY` — A quantidade de gás usada. @@ -1010,7 +1063,7 @@ params: [ ] ``` -**Retorna** +**Returnos** `Object` — Um objeto de bloco, ou `null` quando nenhum bloco foi encontrado: @@ -1077,7 +1130,7 @@ Retorna informações sobre um bloco por número de bloco. **Parâmetros** -1. `QUANTITY|TAG` – número inteiro de um bloco, ou a cadeira de caracteres `"earliest"`, `"latest"` ou `"pending"`, como no [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block). +1. `QUANTITY|TAG` - inteiro de um número de bloco, ou a string `"earliest"`, `"latest"`, `"pending"`, `"safe"` ou `"finalized"`, como no [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block). 2. `Boolean` - Se `true` retorna os objetos de transação completos, se `false` apenas os hashes das transações. ```js @@ -1087,7 +1140,7 @@ params: [ ] ``` -**Retorno** Consulte [eth_getBlockByHash](#eth_getblockbyhash) +**Retorna** Consulte [eth_getBlockByHash](#eth_getblockbyhash) **Exemplo** @@ -1110,7 +1163,7 @@ Retorna as informações sobre uma transação solicitada pelo hash de transaç params: ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"] ``` -**Retorna** +**Returnos** `Object` — Um objeto de transação ou `null` quando nenhuma transação foi encontrada: @@ -1168,7 +1221,7 @@ Retorna informações sobre uma transação por hash de bloco e a posição do ```js params: [ - "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331", + "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0", // 0 ] ``` @@ -1179,10 +1232,10 @@ params: [ ```js // Request -curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b", "0x0"],"id":1}' +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0"],"id":1}' ``` -Resultado veja [eth_getTransactionByHash](#eth_gettransactionbyhash) +Resultado. Veja [eth_getTransactionByHash](#eth_gettransactionbyhash) ### eth_getTransactionByBlockNumberAndIndex {#eth_gettransactionbyblocknumberandindex} @@ -1190,7 +1243,7 @@ Retorna informações sobre uma transação pelo número do bloco e posição do **Parâmetros** -1. `QUANTITY|TAG` – um número de bloco ou a cadeia de caracteres `"earliest"`, `"latest"` ou `"pending"`, como no [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block). +1. `QUANTITY|TAG` - um número de bloco ou a string `"earliest"`, `"latest"`, `"pending"`, `"safe"` ou `"finalized"`, como no [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block). 2. `QUANTITY` - A posição do índice da transação. ```js @@ -1209,7 +1262,7 @@ params: [ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockNumberAndIndex","params":["0x9c47cf", "0x24"],"id":1}' ``` -Resultado veja [eth_getTransactionByHash](#eth_gettransactionbyhash) +Resultado. Veja [eth_getTransactionByHash](#eth_gettransactionbyhash) ### eth_getTransactionReceipt {#eth_gettransactionreceipt} @@ -1239,7 +1292,10 @@ params: ["0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5"] - `contractAddress`: `DATA`, 20 Bytes — O endereço do contrato criado, se a transação era uma criação do contrato, caso contrário `null`. - `logs`: `Array` — Matriz de objetos de log gerados por esta transação. - `logsBloom`: `DATA`, 256 Bytes — Filtro Bloom para clientes leves para recuperar rapidamente os logs relacionados. -- `type`: `QUANTITY` — Inteiro do tipo de transação, `0x0` para transações herdadas, `0x1` para tipos de lista de acesso, `0x2` para taxas dinâmicas. Ele também retorna _seja_ : +- `type`: `QUANTITY` — Inteiro do tipo de transação, `0x0` para transações herdadas, `0x1` para tipos de lista de acesso, `0x2` para taxas dinâmicas. + +Ele também retorna _seja_ : + - `root` : `DATA` 32 bytes de stateRoot pós-transação (anterior à atualização Byzantium) - `status`: `QUANTITY` seja `1` (êxito) ou `0` (falha) @@ -1286,7 +1342,7 @@ Retorna informações sobre o tio de um bloco por hash e a posição do índice ```js params: [ - "0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b", + "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0", // 0 ] ``` @@ -1297,7 +1353,7 @@ params: [ ```js // Request -curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockHashAndIndex","params":["0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b", "0x0"],"id":1}' +curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockHashAndIndex","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0"],"id":1}' ``` Veja o resultado [eth_getBlockByHash](#eth_getblockbyhash) @@ -1310,7 +1366,7 @@ Retorna informações sobre um tio de um bloco por número e posição do índic **Parâmetros** -1. `QUANTITY|TAG` – um número de bloco ou a cadeia de caracteres `"earliest"`, `"latest"` ou `"pending"`, como no [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block). +1. `QUANTITY|TAG` - um número de bloco ou a string `"earliest"`, `"latest"`, `"pending"`, `"safe"`, `"finalized"`, como no [parâmetro de bloco padrão](/developers/docs/apis/json-rpc/#default-block). 2. `QUANTITY` - A posição do índice tio. ```js @@ -1320,7 +1376,7 @@ params: [ ] ``` -**Retorno** Consulte [eth_getBlockByHash](#eth_getblockbyhash) +**Retorna** Consulte [eth_getBlockByHash](#eth_getblockbyhash) **Observação**: um tio (bloco) não contém transações individuais. @@ -1333,142 +1389,6 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockNumberAndInde Veja o resultado [eth_getBlockByHash](#eth_getblockbyhash) -### eth_getCompilers {#eth_getcompilers} - -Retorna uma lista de compiladores disponíveis no cliente. - -**Parâmetros** Nenhum - -**Retorna** `Array` — Matriz de compiladores disponíveis. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCompilers","params":[],"id":1}' -// Result -{ - "id":1, - "jsonrpc": "2.0", - "result": ["solidity", "lll", "serpent"] -} -``` - -### eth_compileSolidity {#eth_compile_solidity} - -Retorna o código Solidity compilado. - -**Parâmetros** - -1. `String` - O código-fonte. - -```js -params: [ - "contract test { function multiply(uint a) returns(uint d) { return a * 7; } }", -] -``` - -**Retorna** `DATA` — O código-fonte compilado. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"eth_compileSolidity","params":["contract test { function multiply(uint a) returns(uint d) { return a * 7; } }"],"id":1}' -// Result -{ - "id":1, - "jsonrpc": "2.0", - "result": { - "code": "0x605880600c6000396000f3006000357c010000000000000000000000000000000000000000000000000000000090048063c6888fa114602e57005b603d6004803590602001506047565b8060005260206000f35b60006007820290506053565b91905056", - "info": { - "source": "contract test {\n function multiply(uint a) constant returns(uint d) {\n return a * 7;\n }\n}\n", - "language": "Solidity", - "languageVersion": "0", - "compilerVersion": "0.9.19", - "abiDefinition": [ - { - "constant": true, - "inputs": [ - { - "name": "a", - "type": "uint256" - } - ], - "name": "multiply", - "outputs": [ - { - "name": "d", - "type": "uint256" - } - ], - "type": "function" - } - ], - "userDoc": { - "methods": {} - }, - "developerDoc": { - "methods": {} - } - } -} -``` - -### eth_compileLLL {#eth_compileLLL} - -Retorna código LLL compilado. - -**Parâmetros** - -1. `String` - O código-fonte. - -```js -params: ["(returnlll (suicide (caller)))"] -``` - -**Retorna** `DATA` — O código-fonte compilado. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"eth_compileLLL","params":["(returnlll (suicide (caller)))"],"id":1}' -// Result -{ - "id":1, - "jsonrpc": "2.0", - "result": "0x603880600c6000396000f3006001600060e060020a600035048063c6888fa114601857005b6021600435602b565b8060005260206000f35b600081600702905091905056" // the compiled source code -} -``` - -### eth_compileSerpent {#eth_compileserpent} - -Retorna o código Serpent compilado. - -**Parâmetros** - -1. `String` - O código fonte. - -```js -params: ["/* some serpent */"] -``` - -**Retorna** `DATA` — O código-fonte compilado. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"eth_compileSerpent","params":["/* some serpent */"],"id":1}' -// Result -{ - "id":1, - "jsonrpc": "2.0", - "result": "0x603880600c6000396000f3006001600060e060020a600035048063c6888fa114601857005b6021600435602b565b8060005260206000f35b600081600702905091905056" // the compiled source code -} -``` - ### eth_newFilter {#eth_newfilter} Cria um objeto de filtro, com base nas opções de filtro, para notificar quando o estado é alterado (logs). Para verificar se o estado mudou, chame [eth_getFilterChanges](#eth_getfilterchanges). @@ -1484,10 +1404,10 @@ Cria um objeto de filtro, com base nas opções de filtro, para notificar quando 1. `Object` - As opções de filtro: -- `fromBlock`: `QUANTITY|TAG` — (opcional, padrão: `"latest"`) Número de bloco inteiro ou `"latest"` para o último bloco minerado ou `"pending"`, `"earliest"` para as transações ainda não mineradas. -- `toBlock`: `QUANTITY|TAG` — (opcional, padrão: `"latest"`) Número do bloco inteiro ou `"latest"` para o último bloco minerado ou `"pending"`, `"earliest"` para as transações ainda não mineradas. -- `address`: `DATA|Array`, 20 Bytes — (opcional) Endereço do contrato ou uma lista de endereços dos quais os logs devem ser provenientes. -- `topics`: `Array of DATA`, — (opcional) Matriz de tópicos de `DATA` de 32 Bytes. Os tópicos são dependentes da ordem. Cada tópico também pode ser uma matriz de DADOS (array of DATA) com opções “ou”. +- `fromBlock`: `QUANTITY|TAG` - (opcional, padrão: `"latest"`) Número de bloco inteiro ou `"latest"` para o último bloco proposto, `"safe"` para o último bloco seguro, `"finalized"` para o último bloco finalizado ou `"pending"`, `"earliest"` para transações que ainda não estão em um bloco. +- `toBlock`: `QUANTITY|TAG` - (opcional, padrão: `"latest"`) Número de bloco inteiro, ou `"latest"` para o último bloco proposto, `"safe"` para o último bloco seguro, `"finalized"` para o último bloco finalizado, ou `"pending"`, `"earliest"` para transações que ainda não estão em um bloco. +- `endereço`: `DATA|Array`, 20 Bytes - (opcional) Endereço do contrato ou uma lista de endereços dos quais os logs devem se originar. +- `topics`: `Array of DATA`, - (opcional) Array de tópicos de `DATA` de 32 Bytes. Os tópicos são dependentes da ordem. Cada tópico também pode ser uma matriz de DADOS com opções "ou". ```js params: [ @@ -1566,7 +1486,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newPendingTransactionFilter" ### eth_uninstallFilter {#eth_uninstallfilter} -Desinstala um filtro com a ID fornecida. Deve ser sempre chamado quando o relógio não for mais necessário. Além disso, filtra o tempo limite quando não são solicitados com [eth_getFilterChanges](#eth_getfilterchanges) por um período de tempo. +Desinstala um filtro com a ID fornecida. Deve ser sempre chamado quando nenhum tipo de observação é necessária. Além disso, os filtros expiram quando não são solicitados com [eth_getFilterChanges](#eth_getfilterchanges) por um período de tempo. **Parâmetros** @@ -1595,7 +1515,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_uninstallFilter","params":[" ### eth_getFilterChanges {#eth_getfilterchanges} -Método de sondagem para um filtro, que retorna uma matriz de logs que ocorreram desde a última sondagem. +Método de sondagem para um filtro, que retorna uma matriz de logs produzidos desde a última sondagem. **Parâmetros** @@ -1619,7 +1539,7 @@ params: [ - `blockHash`: `DATA`, 32 Bytes — Hash do bloco onde este log estava localizado. `null` quando está pendente. `null` quando o log estiver pendente. - `blockNumber`: `QUANTITY` — O número do bloco onde este log estava localizado. `null` quando está pendente. `null` quando o log estiver pendente. - `endereço`: `DADOS`, 20 Bytes — Endereço de origem deste log. - - `data`: `DATA` — Contém um ou mais argumentos não indexados de 32 Bytes do log. + - `data`: `DATA` - contém zero ou mais argumentos não indexados de 32 bytes do log. - `topics`: `Array of DATA` — Matriz de 0 a 4 32 Bytes `DATA` de argumentos de log indexados. (No _Solidity_: O primeiro tópico é o _hash_ da assinatura do evento (por exemplo, ` Deposit(address,bytes32,uint256)`), exceto se você declarou o evento com o especificador `anonymous`.) - **Exemplo** @@ -1651,7 +1571,7 @@ Retorna uma matriz de todos os logs correspondentes ao filtro com a ID fornecida **Parâmetros** -1. `QUANTITY` - O ID do filtro. +1. `QUANTITY` - A ID do filtro. ```js params: [ @@ -1668,7 +1588,7 @@ params: [ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterLogs","params":["0x16"],"id":74}' ``` -Resultado veja [eth_getFilterChanges](#eth_getfilterchanges) +Resultado. Veja [eth_getFilterChanges](#eth_getfilterchanges) ### eth_getLogs {#eth_getlogs} @@ -1678,10 +1598,10 @@ Retorna uma matriz de todos os logs que correspondem a um determinado objeto de 1. `Object` - As opções de filtro: -- `fromBlock`: `QUANTITY|TAG` — (opcional, padrão: `"latest"`) Número de bloco inteiro ou `"latest"` para o último bloco minerado ou `"pending"`, `"earliest"` para as transações ainda não mineradas. -- `toBlock`: `QUANTITY|TAG` — (opcional, padrão: `"latest"`) Número do bloco inteiro ou `"latest"` para o último bloco minerado ou `"pending"`, `"earliest"` para as transações ainda não mineradas. -- `address`: `DATA|Array`, 20 Bytes — (opcional) Endereço do contrato ou uma lista de endereços dos quais os logs devem ser provenientes. -- `topics`: `Array of DATA`, — (opcional) Matriz de tópicos de `DATA` de 32 Bytes. Os tópicos são dependentes da ordem. Cada tópico também pode ser uma matriz de DADOS (array of DATA) com opções “ou”. +- `fromBlock`: `QUANTITY|TAG` - (opcional, padrão: `"latest"`) Número de bloco inteiro ou `"latest"` para o último bloco proposto, `"safe"` para o último bloco seguro, `"finalized"` para o último bloco finalizado ou `"pending"`, `"earliest"` para transações que ainda não estão em um bloco. +- `toBlock`: `QUANTITY|TAG` - (opcional, padrão: `"latest"`) Número de bloco inteiro, ou `"latest"` para o último bloco proposto, `"safe"` para o último bloco seguro, `"finalized"` para o último bloco finalizado, ou `"pending"`, `"earliest"` para transações que ainda não estão em um bloco. +- `endereço`: `DATA|Array`, 20 Bytes - (opcional) Endereço do contrato ou uma lista de endereços dos quais os logs devem se originar. +- `topics`: `Array of DATA`, - (opcional) Array de tópicos de `DATA` de 32 Bytes. Os tópicos são dependentes da ordem. Cada tópico também pode ser uma matriz de DADOS com opções "ou". - `blockhash`: `DATA`, 32 Bytes — (opcional, **futuro**) Com a adição do EIP-234, `blockHash` será uma nova opção de filtro, que restringe os logs retornados ao bloco único com o hash de 32 bytes `blockHash`. Usar `blockHash` é equivalente a `fromBlock` = `toBlock` = o número do bloco com hash `blockHash`. Se `blockHash` estiver presente nos critérios de filtro, nem `fromBlock`, nem `toBlock` serão permitidos. ```js @@ -1703,538 +1623,9 @@ params: [ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"topics":["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b"]}],"id":74}' ``` -Resultado veja [eth_getFilterChanges](#eth_getfilterchanges) - -### eth_getWork {#eth_getwork} - -Retorna o hash do bloco atual, o seedHash e a condição de limite a ser atendida (“alvo”). - -**Parâmetros** Nenhum - -**Retorna** `Array` — Matriz com as seguintes propriedades: - -1. `DATA`, 32 Bytes - Cabeçalho do bloco atual pow-hash -2. `DATA`, 32 Bytes - O hash da semente usada para o DAG. -3. `DATA`, 32 Bytes - A condição de contorno ("alvo"), 2^256 / dificuldade. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getWork","params":[],"id":73}' -// Result -{ - "id":1, - "jsonrpc":"2.0", - "result": [ - "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", - "0x5EED00000000000000000000000000005EED0000000000000000000000000000", - "0xd1ff1c01710000000000000000000000d1ff1c01710000000000000000000000" - ] -} -``` - -### eth_submitWork {#eth_submitwork} - -Usado para enviar uma solução de prova de trabalho. - -**Parâmetros** - -1. `DATA`, 8 Bytes - O nonce encontrado (64 bits) -2. `DATA`, 32 Bytes - O pow-hash do cabeçalho (256 bits) -3. `DATA`, 32 Bytes - O mix digest (256 bits) - -```js -params: [ - "0x0000000000000001", - "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", - "0xD1FE5700000000000000000000000000D1FE5700000000000000000000000000", -] -``` - -**Retorna** `Boolean` — retorna `true` se a solução fornecida for válida, caso contrário, `false`. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0", "method":"eth_submitWork", "params":["0x0000000000000001", "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "0xD1GE5700000000000000000000000000D1GE5700000000000000000000000000"],"id":73}' -// Result -{ - "id":73, - "jsonrpc":"2.0", - "result": true -} -``` - -### eth_submitHashrate {#eth_submithashrate} - -Usado para enviar hashrate de mineração. - -**Parâmetros** - -1. `Hashrate`, uma representação de string hexadecimal (32 bytes) do hashrate -2. `ID`, String - Uma ID hexadecimal aleatória (32 bytes) que identifica o cliente - -```js -params: [ - "0x0000000000000000000000000000000000000000000000000000000000500000", - "0x59daa26581d0acd1fce254fb7e85952f4c09d0915afd33d3886cd914bc7d283c", -] -``` - -**Retorna** `Boolean` — Retorna `true` se o envio foi realizado com sucesso e, caso contrário, `false`. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0", "method":"eth_submitHashrate", "params":["0x0000000000000000000000000000000000000000000000000000000000500000", "0x59daa26581d0acd1fce254fb7e85952f4c09d0915afd33d3886cd914bc7d283c"],"id":73}' -// Result -{ - "id":73, - "jsonrpc":"2.0", - "result": true -} -``` - -### db_putString (deprecated) {#db_putstring} - -Armazena uma cadeia de caracteres no banco de dados local. - -**Observação:** Essa função foi preterida. - -**Parâmetros** - -1. `String` - Nome do banco de dados. -2. `String` - Nome da chave. -3. `String` - String para armazenar. - -```js -params: ["testDB", "myKey", "myString"] -``` - -**Retorna** `Boolean` — Retorna `true` se o valor foi armazenado, caso contrário `false`. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"db_putString","params":["testDB","myKey","myString"],"id":73}' -// Result -{ - "id":1, - "jsonrpc":"2.0", - "result": true -} -``` - -### db_getString (deprecated) {#db_getstring} - -Retorna a cadeia de caracteres do banco de dados local. **Observação:** Essa função foi preterida. - -**Parâmetros** - -1. `String` - Nome do banco de dados. -2. `String` - Nome da chave. - -```js -params: ["testDB", "myKey"] -``` - -**Retorna** `String` — A cadeia de caracteres armazenada anteriormente. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"db_getString","params":["testDB","myKey"],"id":73}' -// Result -{ - "id":1, - "jsonrpc":"2.0", - "result": "myString" -} -``` - -### db_putHex (deprecated) {#db_puthex} - -Armazena dados binários no banco de dados local. **Observação:** Essa função foi preterida. - -**Parâmetros** - -1. `String` - Nome do banco de dados. -2. `String` - Nome da chave. -3. `DADOS` - Os dados a serem armazenados. - -```js -params: ["testDB", "myKey", "0x68656c6c6f20776f726c64"] -``` - -**Retorna** `Boolean` — Retorna `true` se o valor foi armazenado, caso contrário `false`. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"db_putHex","params":["testDB","myKey","0x68656c6c6f20776f726c64"],"id":73}' -// Result -{ - "id":1, - "jsonrpc":"2.0", - "result": true -} -``` - -### db_getHex (deprecated) {#db_gethex} - -Armazena dados binários do banco de dados local. **Observação:** Essa função foi preterida. - -**Parâmetros** - -1. `String` - Nome do banco de dados. -2. `String` - Nome da chave. - -```js -params: ["testDB", "myKey"] -``` - -**Retorna** `DATA` — Os dados previamente armazenados. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"db_getHex","params":["testDB","myKey"],"id":73}' -// Result -{ - "id":1, - "jsonrpc":"2.0", - "result": "0x68656c6c6f20776f726c64" -} -``` - -### shh_version (deprecated) {#shh_post} - -Retorna a versão atual do protocolo Whisper. - -**Observação:** Essa função foi preterida. - -**Parâmetros** Nenhum - -**Retorna** `String` — A versão atual do protocolo Whisper - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"shh_version","params":[],"id":67}' -// Result -{ - "id":67, - "jsonrpc": "2.0", - "result": "2" -} -``` - -### shh_post (deprecated) {#shh_version} - -Envia uma mensagem do Whisper. - -**Observação:** Essa função foi preterida. - -**Parâmetros** - -1. `Objeto` - O objeto de postagem do Whisper: - -- `de`: `DATA`, 60 Bytes — (opcional) A identidade do remetente. -- `para`: `DATA`, 60 Bytes — (opcional) A identidade do destinatário. Quando presente, o Whisper criptografará a mensagem para que apenas o destinatário possa descriptografá-la. -- `tópicos`: `Array of DATA` — Matriz de tópicos de `DATA` para o destinatário identificar as mensagens. -- `carga`: `DATA` — O conteúdo da mensagem. -- `prioridade`: `QUANTITY` — O inteiro da prioridade em um intervalo de... (?). -- `ttl`: `QUANTITY` — Inteiro do tempo residual em segundos. - -```js -params: [ - { - from: "0x04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a03e245533f97284d442460f2998cd41858798ddfd4d661997d3940272b717b1", - to: "0x3e245533f97284d442460f2998cd41858798ddf04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a0d4d661997d3940272b717b1", - topics: [ - "0x776869737065722d636861742d636c69656e74", - "0x4d5a695276454c39425154466b61693532", - ], - payload: "0x7b2274797065223a226d6", - priority: "0x64", - ttl: "0x64", - }, -] -``` - -**Retorna** `Boolean` — Retorna `true` se a mensagem foi enviada, caso contrário `false`. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"shh_post","params":[{"from":"0xc931d93e97ab07fe42d923478ba2465f2..","topics": ["0x68656c6c6f20776f726c64"],"payload":"0x68656c6c6f20776f726c64","ttl":0x64,"priority":0x64}],"id":73}' -// Result -{ - "id":1, - "jsonrpc":"2.0", - "result": true -} -``` - -### shh_newIdentity (depreciado){#shh_newidentity} - -Cria uma nova identidade Whisper no cliente. - -**Observação:** Essa função foi preterida. - -**Parâmetros** Nenhum - -**Retorna** `DATA`, 60 Bytes — O endereço da nova identidade. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"shh_newIdentity","params":[],"id":73}' -// Result -{ - "id":1, - "jsonrpc": "2.0", - "result": "0xc931d93e97ab07fe42d923478ba2465f283f440fd6cabea4dd7a2c807108f651b7135d1d6ca9007d5b68aa497e4619ac10aa3b27726e1863c1fd9b570d99bbaf" -} -``` - -### shh_hasIdentity (deprecated){#shh_hasidentity} - -Verifica se o cliente mantém as chaves privadas de uma determinada identidade. - -**Observação:** Essa função foi preterida. - -**Parâmetros** - -1. `DATA`, 60 Bytes - O endereço de identidade a ser verificado. - -```js -params: [ - "0x04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a03e245533f97284d442460f2998cd41858798ddfd4d661997d3940272b717b1", -] -``` - -**Retorna** `Boolean` — Retorna `true` se o cliente possui a chave privada para essa identidade, caso contrário `false`. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"shh_hasIdentity","params":["0x04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a03e245533f97284d442460f2998cd41858798ddfd4d661997d3940272b717b1"],"id":73}' -// Result -{ - "id":1, - "jsonrpc": "2.0", - "result": true -} -``` - -### shh_newGroup (deprecated){#shh_newgroup} - -**Observação:** Essa função foi preterida. - -**Parâmetros** Nenhum - -**Retorna** `DATA`, 60 Bytes — O endereço do novo grupo. (?) - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"shh_newGroup","params":[],"id":73}' -// Result -{ - "id":1, - "jsonrpc": "2.0", - "result": "0xc65f283f440fd6cabea4dd7a2c807108f651b7135d1d6ca90931d93e97ab07fe42d923478ba2407d5b68aa497e4619ac10aa3b27726e1863c1fd9b570d99bbaf" -} -``` - -### shh_addToGroup (deprecated){#shh_addtogroup} - -**Observação:** Essa função foi preterida. - -**Parâmetros** - -1. `DATA`, 60 Bytes - O endereço de identidade para adicionar a um grupo (?). - -```js -params: [ - "0x04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a03e245533f97284d442460f2998cd41858798ddfd4d661997d3940272b717b1", -] -``` - -**Retorna** `Boolean` — Retorna `true` se a identidade foi adicionada com sucesso ao grupo, caso contrário `false` (?). - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"shh_addToGroup","params":["0x04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a03e245533f97284d442460f2998cd41858798ddfd4d661997d3940272b717b1"],"id":73}' -// Result -{ - "id":1, - "jsonrpc": "2.0", - "result": true -} -``` - -### shh_newFilter (deprecated){#shh_newfilter} - -Cria um filtro para notificar quando o cliente recebe a mensagem do Whisper que corresponde às opções do filtro. **Observação:** Essa função foi preterida. - -**Parâmetros** - -1. `Object` - As opções de filtro: - -- `to`: `DATA`, 60 Bytes — (opcional) Identidade do destinatário. _Quando apresentado, ele tentará descriptografar qualquer mensagem recebida se o cliente possuir a chave privada dessa identidade._ -- `tópicos`: `Array of DATA` — Matriz de tópicos de `DATA` que devem corresponder aos tópicos das mensagens recebidas. Você pode usar as seguintes combinações: - - `[A, B] = A && B` - - `[A, [B, C]] = A && (B || C)` - - `[null, A, B] = ANYTHING && A && B` `null` funciona como um curinga - - - -```js -params: [ - { - topics: ["0x12341234bf4b564f"], - to: "0x04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a03e245533f97284d442460f2998cd41858798ddfd4d661997d3940272b717b1", - }, -] -``` - -**Retorna** `QUANTITY` — O filtro recém-criado. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"shh_newFilter","params":[{"topics": ['0x12341234bf4b564f'],"to": "0x2341234bf4b2341234bf4b564f..."}],"id":73}' -// Result -{ - "id":1, - "jsonrpc":"2.0", - "result": "0x7" // 7 -} -``` - -### shh_uninstallFilter (deprecated){#shh_uninstallfilter} - -Desinstala um filtro com a ID fornecida. Deve ser sempre chamado quando o relógio não for mais necessário. Adicionalmente, filtra o tempo limite quando não são solicitados com [shh_getFilterChanges](#shh_getfilterchanges) por um determinado período. **Observação:** Essa função foi preterida. - -**Parâmetros** - -1. `QUANTITY` - O filtro id. - -```js -params: [ - "0x7", // 7 -] -``` - -**Retorna** `Boolean` — `true` se o filtro foi desinstalado com sucesso, caso contrário `false`. - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"shh_uninstallFilter","params":["0x7"],"id":73}' -// Result -{ - "id":1, - "jsonrpc":"2.0", - "result": true -} -``` - -### shh_getFilterChanges (deprecated){#shh_getfilterchanges} - -Método de sondagem para filtros do Whisper. Retorna novas mensagens desde a última chamada desse método. **Observação:** chamar o método [shh_getMessages](#shh_getmessages) redefinirá o buffer desse método para que você não receba mensagens duplicadas. **Observação:** Essa função foi preterida. - -**Parâmetros** - -1. `QUANTITY` - O filtro id. - -```js -params: [ - "0x7", // 7 -] -``` - -**Retorna** `Array` — Matriz de mensagens recebidas desde a última sondagem: - -- `hash`: `DATA`, 32 Bytes (?) — O hash da mensagem. -- `from`: `DATA`, 60 Bytes — O remetente da mensagem, se um remetente foi especificado. -- `to`: `DATA`, 60 Bytes — O destinatário da mensagem, se um destinatário foi especificado. -- `expiry`: `QUANTITY` — Inteiro do tempo em segundos quando esta mensagem deve expirar (?). -- `ttl`: `QUANTITY` — Inteiro do tempo que a mensagem deve flutuar no sistema em segundos (?). -- `sent`: `QUANTITY` — Inteiro do carimbo de data/hora unix quando a mensagem foi enviada. -- `tópicos`: `Array of DATA` — Matriz de tópicos de `DATA` contidos na mensagem. -- `carga`: `DATA` — O conteúdo da mensagem. -- `workProved`: `QUANTITY` — Inteiro do trabalho que esta mensagem exigiu antes de ser enviada (?). - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"shh_getFilterChanges","params":["0x7"],"id":73}' -// Result -{ - "id":1, - "jsonrpc":"2.0", - "result": [{ - "hash": "0x33eb2da77bf3527e28f8bf493650b1879b08c4f2a362beae4ba2f71bafcd91f9", - "from": "0x3ec052fc33..", - "to": "0x87gdf76g8d7fgdfg...", - "expiry": "0x54caa50a", // 1422566666 - "sent": "0x54ca9ea2", // 1422565026 - "ttl": "0x64", // 100 - "topics": ["0x6578616d"], - "payload": "0x7b2274797065223a226d657373616765222c2263686...", - "workProved": "0x0" - }] -} -``` - -### shh_getMessages (deprecated) {#shh_getmessages} - -Obtenha todas as mensagens correspondentes a um filtro. Ao contrário de `shh_getFilterChanges`, isso retorna todas as mensagens. - -**Observação:** Essa função foi preterida. - -**Parâmetros** - -1. `QUANTIDADE` - O filtro id. - -```js -params: [ - "0x7", // 7 -] -``` - -**Retorna** Consulte [shh_getFilterChanges](#shh_getfilterchanges) - -**Exemplo** - -```js -// Request -curl -X POST --data '{"jsonrpc":"2.0","method":"shh_getMessages","params":["0x7" -],"id":73}' -``` - -Consulte o resultado [shh_getFilterChanges](#shh_getfilterchanges) +Resultado. Veja [eth_getFilterChanges](#eth_getfilterchanges) -## Exemplo de utilização {#usage-example} +## Exemplos de uso {#usage-example} ### Implementando um contrato usando JSON_RPC {#deploying-contract} @@ -2260,10 +1651,10 @@ geth --http --dev console 2>>geth.log Isso iniciará a interface HTTP RPC em `http://localhost:8545`. -Podemos verificar se a interface está funcionando recuperando o endereço e o saldo da Coinbase usando [curl](https://curl.se). Observe que os dados nesses exemplos serão diferentes no seu nó local. Se você quiser tentar esses comandos, substitua os parâmetros de solicitação na segunda solicitação curl pelo resultado retornado da primeira. +Podemos verificar se a interface está em execução recuperando o endereço da coinbase (obtendo o primeiro endereço da matriz de contas) e o saldo usando [curl](https://curl.se). Observe que os dados nesses exemplos serão diferentes no seu nó local. Se você quiser tentar esses comandos, substitua os parâmetros de solicitação na segunda solicitação curl pelo resultado retornado da primeira. ```bash -curl --data '{"jsonrpc":"2.0","method":"eth_coinbase", "id":1}' -H "Content-Type: application/json" localhost:8545 +curl --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[]", "id":1}' -H "Content-Type: application/json" localhost:8545 {"id":1,"jsonrpc":"2.0","result":["0x9b1d35635cc34752ca54713bb99d38614f63c955"]} curl --data '{"jsonrpc":"2.0","method":"eth_getBalance", "params": ["0x9b1d35635cc34752ca54713bb99d38614f63c955", "latest"], "id":2}' -H "Content-Type: application/json" localhost:8545 @@ -2277,7 +1668,7 @@ web3.fromWei("0x1639e49bba16280000", "ether") // "410" ``` -Agora que já temos alguns ethers em nossa cadeia de desenvolvimento privada, podemos implantar o contrato. O primeiro passo é compilar o contrato Multiply7 em byte code, que pode ser enviado para a EVM. Para instalar o solc, o compilador do Solidity, confira a [documentação do Solidity](https://docs.soliditylang.org/en/latest/installing-solidity.html). (Você pode usar uma versão do `solc` mais antiga que corresponda [à versão do compilador usada em nosso exemplo](https://github.com/ethereum/solidity/releases/tag/v0.4.20).) +Agora que já temos alguns Ether em nossa cadeia de desenvolvimento privada, podemos implantar o contrato. O primeiro passo é compilar o contrato Multiply7 em byte code, que pode ser enviado para a EVM. Para instalar o solc, o compilador do Solidity, confira a [documentação do Solidity](https://docs.soliditylang.org/en/latest/installing-solidity.html). (Você pode usar uma versão do `solc` mais antiga que corresponda [à versão do compilador usada em nosso exemplo](https://github.com/ethereum/solidity/releases/tag/v0.4.20).) O próximo passo é compilar o contrato Multiply7 em byte code, que pode ser enviado para a EVM. @@ -2310,15 +1701,15 @@ curl --data '{"jsonrpc":"2.0","method": "eth_getTransactionReceipt", "params": [ {"jsonrpc":"2.0","id":7,"result":{"blockHash":"0x77b1a4f6872b9066312de3744f60020cbd8102af68b1f6512a05b7619d527a4f","blockNumber":"0x1","contractAddress":"0x4d03d617d700cf81935d7f797f4e2ae719648262","cumulativeGasUsed":"0x1c31e","from":"0x9b1d35635cc34752ca54713bb99d38614f63c955","gasUsed":"0x1c31e","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf","transactionIndex":"0x0"}} ``` -Nosso contrato foi criado em `0x4d03d617d700cf81935d7f797f4e2ae719648262`. Um resultado nulo em vez de um recibo significa que a transação ainda não foi incluída em um bloco. Aguarde um momento, verifique se o seu minerador está em execução e tente novamente. +Nosso contrato foi criado em `0x4d03d617d700cf81935d7f797f4e2ae719648262`. Um resultado nulo em vez de um recibo significa que a transação ainda não foi incluída em um bloco. Espere um momento e verifique se o termo de consentimento do cliente está ativo e tente novamente. #### Interagindo com contratos inteligentes {#interacting-with-smart-contract} Neste exemplo, enviaremos uma transação usando `eth_sendTransaction` para o método `multiply` do contrato. -`eth_sendTransaction` requer vários argumentos, especificamente `from`, `to` e `data`. `From` é o endereço público de nossa conta, e `to` é o endereço do contrato. O argumento `data` contém um conteúdo que define qual método deve ser chamado e com quais argumentos. É aqui que a [ABI (application binary interface ou interface binária do aplicativo)](https://docs.soliditylang.org/en/latest/abi-spec.html) entra em ação. A ABI é um arquivo JSON que estabelece como definir e codificar dados para a EVM. +`eth_sendTransaction` requer vários argumentos, especificamente `from`, `to` e `data`. `From` é o endereço público de nossa conta, e `to` é o endereço do contrato. O argumento `data` contém uma carga que define qual método deve ser chamado e com quais argumentos. É aqui que a [interface binária do aplicativo (ABI, na sigla em inglês)](https://docs.soliditylang.org/en/latest/abi-spec.html) entra em ação. A ABI é um arquivo JSON que estabelece como definir e codificar dados para a EVM. -Os bytes do conteúdo definem qual método no contrato é chamado. Esses são os primeiros 4 bytes do hash Keccak sobre o nome da função e seus tipos de argumento, com codificação hexadecimal. A função multiplicar aceita um uint, que é um alias de uint256. Isso nos deixa com: +Os bytes da carga definem qual método no contrato é chamado. Esses são os primeiros 4 bytes do hash Keccak sobre o nome da função e seus tipos de argumento, com codificação hexadecimal. A função multiplicar aceita um uint, que é um alias de uint256. Isso nos deixa com: ```javascript web3.sha3("multiply(uint256)").substring(0, 10) @@ -2378,5 +1769,5 @@ Esta foi apenas uma breve introdução a algumas das tarefas mais comuns, demons - [Especificações do JSON-RPC](http://www.jsonrpc.org/specification) - [ Nós e clientes](/developers/docs/nodes-and-clients/) - [APIs JavaScript](/developers/docs/apis/javascript/) -- [APIs de Backend](/developers/docs/apis/backend/) +- [APIs de back-end](/developers/docs/apis/backend/) - [Clientes de execução](/developers/docs/nodes-and-clients/#execution-clients) diff --git a/public/content/translations/pt-br/developers/docs/consensus-mechanisms/pow/mining/index.md b/public/content/translations/pt-br/developers/docs/consensus-mechanisms/pow/mining/index.md index bec499d6c3f..25491c2f58b 100644 --- a/public/content/translations/pt-br/developers/docs/consensus-mechanisms/pow/mining/index.md +++ b/public/content/translations/pt-br/developers/docs/consensus-mechanisms/pow/mining/index.md @@ -10,7 +10,7 @@ A prova de trabalho não está mais subjacente ao mecanismo de consenso do Ether ## Pré-requisitos {#prerequisites} -Para melhor entender esta página, recomendamos que você leia primeiro [transações](/developers/docs/transactions/), [blocos](/developers/docs/blocks/) e [prova de trabalho](/developers/docs/consensus-mechanisms/pow/). +Para melhor entender esta página, recomendamos que você leia primeiro [transações](/developers/docs/transactions/), [blocos](/developers/docs/blocks/) e [prova de trabalho ](/developers/docs/consensus-mechanisms/pow/). ## O que é mineração de Ethereum? {#what-is-ethereum-mining} diff --git a/public/content/translations/pt-br/developers/docs/data-and-analytics/block-explorers/index.md b/public/content/translations/pt-br/developers/docs/data-and-analytics/block-explorers/index.md index cae3d78a4db..985faa7eeb3 100644 --- a/public/content/translations/pt-br/developers/docs/data-and-analytics/block-explorers/index.md +++ b/public/content/translations/pt-br/developers/docs/data-and-analytics/block-explorers/index.md @@ -5,7 +5,7 @@ lang: pt-br sidebarDepth: 3 --- -Exploradores de blocos são o seu portal para os dados do Ethereum. Você pode usá-los para ver dados em tempo real sobre blocos, transações, mineradores, contas e outras atividades em cadeia. +Exploradores de blocos são o seu portal para os dados do Ethereum. Você pode usá-los para ver dados em tempo real sobre blocos, transações, validadores, contas e outras atividades on-chain. ## Pré-requisitos {#prerequisites} @@ -14,15 +14,24 @@ Você deve entender os conceitos básicos do Ethereum; para que você possa ente ## Serviços {#services} - [Etherscan](https://etherscan.io/) -_Também disponível em chinês, coreano, russo e japonês_ +- [3xpl](https://3xpl.com/ethereum) - [Beaconcha.in](https://beaconcha.in/) - [Blockchair](https://blockchair.com/ethereum) -_ Também disponível em espanhol, francês, italiano, holandês, português, russo, chinês e persa_ - [Blockscout](https://eth.blockscout.com/) - [Chainlens](https://www.chainlens.com/) +- [Explorador de Blocos DexGuru](https://ethereum.dex.guru/) - [Etherchain](https://www.etherchain.org/) +- [Ethernow](https://www.ethernow.xyz/) - [Ethplorer](https://ethplorer.io/) -_ Também disponível em chinês, espanhol, francês, turco, russo, coreano e vietnamita_ - [EthVM](https://www.ethvm.com/) - [OKLink](https://www.oklink.com/eth) +- [Rantom](https://rantom.app/) +- [Ethseer](https://ethseer.io) + +## Ferramentas de código aberto {#open-source-tools} + - [Otterscan](https://otterscan.io/) +- [lazy-etherscan](https://github.com/woxjro/lazy-etherscan) ## Dados {#data} @@ -46,7 +55,7 @@ Novos blocos são adicionados à Ethereum a cada 12 segundos (a menos que um pro - Limite de Gás - Os limites totais de gás definidos pelas transações no bloco - Taxa base por gás - O multiplicador mínimo necessário para que uma transação seja incluída em um bloco - Taxas queimadas - Quanto ETH é queimado no bloco -- Dados extras - Quaisquer dados extras que o minerador incluiu no bloco +- Dados extras - Quaisquer dados extras que o construtor tenha incluído no bloco **Dados avançados** @@ -74,12 +83,12 @@ Os exploradores de blocos se tornaram um lugar comum para as pessoas acompanhare - Hash da transação - Um hash gerado quando a transação é enviada - Status - Uma indicação de se a transação está pendente, falhou ou foi concluída - Bloco - O bloco em que a transação foi incluída -- Carimbo de tempo - A hora em que o mineiro minerou a transação +- Carimbo de data/hora: a hora em que uma transação foi incluída em um bloco proposto por um validador - De - O endereço da conta que enviou a transação - Para - O endereço do destinatário ou o contrato inteligente com que a transação interagem - Tokens transferidos - Uma lista de tokens que foram transferidos como parte da transação - Valor - O valor total de ETH que está sendo transferido -- Taxa de transação - O valor pago ao minerador para processar a transação (calculado pelo preço do gás\*gás usado) +- Taxa de transação - O valor pago ao validador para processar a transação (calculado pelo preço do gás\*gás usado) **Dados avançados** @@ -134,7 +143,7 @@ Alguns dados do bloco estão preocupados com a funcionalidade da Ethereum de for - Transações por segundo - O número de transações processáveis em um segundo - Preço ETH - As avaliações atuais de 1 ETTH - Fornecimento total de ETH – Número de ETH em circulação – lembre-se de que o novo ETH é criado com a criação de cada bloco sob a forma de recompensas por bloco -- Capitalização de mercado - Cálculo do preço \ \* oferta +- Capitalização de mercado - Cálculo do preço \ * oferta ## Dados de camada de consenso {#consensus-layer-data} @@ -230,10 +239,13 @@ Os dados de nível superior da camada consensual incluem os seguintes: ## Exploradores de bloco {#block-explorers} - [Etherscan](https://etherscan.io/) - um explorador de bloco que você pode usar para buscar dados da rede principal Ethereum e rede de testes Goerli +- [3xpl](https://3xpl.com/ethereum) - um explorador Ethereum de código aberto e sem anúncios que permite o download de seus conjuntos de dados - [Beaconcha.in](https://beaconcha.in/) - um explorador de bloco de código aberto para Ethereum Mainnet e Goerli Testnet - [Blockchair](https://blockchair.com/ethereum) - o explorador Ethereum mais privado. Também para classificação e filtragem de dados (mempool) - [Etherchain](https://www.etherchain.org/) - um explorador de blocos para a rede principal Ethereum - [Ethplorer](https://ethplorer.io/) - um explorador de blocos com foco nos tokens da rede principal Ethereum e rede de testes Kovan +- [Rantom](https://rantom.app/) - Um DeFi amigável de código aberto & Visualizador de transação NFT para visões detalhadas +- [Ethernow](https://www.ethernow.xyz/) - um explorador de transações em tempo real que permite que você veja a camada pré-cadeia da rede principal de Ethereum ## Leitura adicional {#further-reading} diff --git a/public/content/translations/pt-br/developers/docs/data-and-analytics/index.md b/public/content/translations/pt-br/developers/docs/data-and-analytics/index.md index d913a53e93e..d5e71820bc2 100644 --- a/public/content/translations/pt-br/developers/docs/data-and-analytics/index.md +++ b/public/content/translations/pt-br/developers/docs/data-and-analytics/index.md @@ -18,7 +18,7 @@ Em termos de fundamentos arquitetônicos, entendendo o que uma [API](https://www ## Exploradores de bloco {#block-explorers} -Muitos [Exploradores de blocos](/developers/docs/data-and-analytics/block-explorers/) oferecem [RESTful](https://www.wikipedia.org/wiki/Representational_state_transfer) [API](https://www.wikipedia.org/wiki/API) gateways que fornecerão aos desenvolvedores visibilidade em dados em tempo real em blocos, transações, mineiros, contas e outras atividades on-chain. +Muitos [exploradores de bloco](/developers/docs/data-and-analytics/block-explorers/) oferecem gateways [RESTful](https://www.wikipedia.org/wiki/Representational_state_transfer) [API](https://www.wikipedia.org/wiki/API) que fornecerão aos desenvolvedores visibilidade de dados em tempo real sobre blocos, transações, validadores, contas e outras atividades on-chain. Desenvolvedores podem então processar e transformar esses dados para dar aos seus usuários percepções e interações exclusivas com a [blockchain](/glossary/#blockchain). Por exemplo, [Etherscan](https://etherscan.io) fornece dados de execução e consenso para cada slot de 12s. @@ -30,11 +30,20 @@ Usando o [GraphQL](https://graphql.org/), os desenvolvedores podem consultar qua ## Diversidade dos clientes -A [diversidade do cliente](/developers/docs/nodes-and-clients/client-diversity/) é importante para a saúde geral da rede Ethereum porque fornece resiliência a bugs e explorações. Agora existem vários painéis de diversidade do cliente, incluindo [clientdiversity.org](https://clientdiversity.org/), [rated.network](https://rated.network/), [supermajority.info](https://supermajority.info//) e [Ethernodes](https://ethernodes.org/). +A [diversidade do cliente](/developers/docs/nodes-and-clients/client-diversity/) é importante para a saúde geral da rede Ethereum porque fornece resiliência a bugs e explorações. Agora existem vários painéis de diversidade do cliente, incluindo [clientdiversity.org](https://clientdiversity.org/), [rated.network](https://www.rated.network), [supermajority.info](https://supermajority.info//) e [Ethernodes](https://ethernodes.org/). ## Dune Analytics {#dune-analytics} -O [Dune Analytics](https://dune.com/) pré-processa dados da blockchain em tabelas de banco de dados relacional (DuneSQL), que permite aos usuários consultar dados da blockchain usando SQL e criem painéis com base nos resultados da consulta. Os dados on-chain são organizados em 4 tabelas brutas: `blocos`, `transações`, (evento) `registros` e (chamada) `traços`. Contratos e protocolos populares foram decodificados e cada um tem seu próprio conjunto de tabelas de eventos e chamadas. Essas tabelas de eventos e chamadas são processadas e organizadas em abstração de tabelas por tipo de protocolo, por exemplo, dex, lending, stablecoins etc. +[Dune Analytics](https://dune.com/) pré-processa os dados de blockchain em tabelas de banco de dados relacional (DuneSQL), permitindo que os usuários consultem dados de blockchain usando SQL e criem dashboards com base nos resultados das consultas. Os dados on-chain são organizados em 4 tabelas brutas: `blocos`, `transações`, (evento) `registros` e (chamada) `traços`. Contratos e protocolos populares foram decodificados e cada um tem seu próprio conjunto de tabelas de eventos e chamadas. Essas tabelas de eventos e chamadas são processadas e organizadas em abstração de tabelas por tipo de protocolo, por exemplo, dex, lending, stablecoins etc. + +## SubQuery Network {#subquery-network} + +[SubQuery](https://subquery.network/) é um indexador de dados líder que fornece aos desenvolvedores APIs rápidas, confiáveis, descentralizadas e personalizadas para projetos web3. A SubQuery capacita desenvolvedores de mais de 165 ecossistemas (incluindo Ethereum) com dados indexados avançados para criar experiências intuitivas e imersivas para seus usuários. A SubQuery Network impulsiona seus aplicativos com uma infraestrutura resiliente e descentralizada. Utilize o kit de ferramentas para desenvolvedores de blockchain da SubQuery para construir os aplicativos web3 do futuro, sem precisar gastar tempo criando um back-end personalizado para atividades de processamento de dados. + +Para começar, acesse o [guia rápido de Ethereum](https://academy.subquery.network/quickstart/quickstart_chains/ethereum-gravatar.html) para começar a indexar dados da blockchain Ethereum em minutos em um ambiente local Docker para testes antes do lançamento em um [serviço gerenciado da SubQuery](https://managedservice.subquery.network/) ou na [rede descentralizada da SubQuery](https://app.subquery.network/dashboard). + +## Ethernow - Programa de dados Mempool {#ethernow} +[Blocknative](https://www.blocknative.com/) fornece acesso aberto ao seu [arquivo de dados de mempool](https://www.ethernow.xyz/mempool-data-archive) histórico do Ethereum. Isso permite que pesquisadores e bons projetos comunitários explorem a camada pré-chain da rede principal de Ethereum. O conjunto de dados é ativamente mantido e representa o registro histórico mais abrangente dos eventos de transações de mempool dentro do ecossistema Ethereum. Saiba mais em [Ethernow](https://www.ethernow.xyz/). ## Leitura Adicional {#further-reading} @@ -43,3 +52,4 @@ O [Dune Analytics](https://dune.com/) pré-processa dados da blockchain em tabel - [Exemplos de código de API em EtherScan](https://etherscan.io/apis#contracts) - [Explorador de Beacon Chain Beaconcha.in](https://beaconcha.in) - [Fundamentos do Dune](https://docs.dune.com/#dune-basics) +- [Guia rápido de início da SubQuery para Ethereum](https://academy.subquery.network/indexer/quickstart/quickstart_chains/ethereum-gravatar.html) diff --git a/public/content/translations/pt-br/developers/docs/development-networks/index.md b/public/content/translations/pt-br/developers/docs/development-networks/index.md index a2e043d6dfd..8d32bf051f3 100644 --- a/public/content/translations/pt-br/developers/docs/development-networks/index.md +++ b/public/content/translations/pt-br/developers/docs/development-networks/index.md @@ -45,16 +45,27 @@ Alguns clientes de consenso têm ferramentas integradas para ativar as cadeias B - [Testnet local usando Lighthouse](https://lighthouse-book.sigmaprime.io/setup.html#local-testnets) - [Testnet local usando Nimbus](https://github.com/status-im/nimbus-eth1/blob/master/fluffy/docs/local_testnet.md) -### Cadeias de teste públicas da Ethereum {#public-beacon-testchains} +### Cadeias de teste públicas do Ethereum {#public-beacon-testchains} Existem também duas implementações públicas de testes da Ethereum: Goerli e Sepolia. A rede de testes recomendada com apoio em longo prazo é Goerli, sobre a qual qualquer pessoa tem liberdade para validar. Sepolia é uma cadeia mais nova e menor que também deve ser mantida em um futuro previsível, com um conjunto de validadores autorizados (o que significa que não há acesso geral a novos validadores nesta rede de teste). Espera-se que a cadeia de Ropsten seja descontinuada no quarto trimestre de 2022, e espera-se que a cadeia de Rinkeby seja descontinuada no segundo ou terceiro trimestre de 2023. - [Plataforma de lançamento de staking Goerli](https://goerli.launchpad.ethereum.org/) - [Anúncio de descontinuação da Ropsten, Rinkeby & Kiln](https://blog.ethereum.org/2022/06/21/testnet-deprecation) +### Pacote Kurtosis do Ethereum {#kurtosis} + +Kurtosis é um sistema de construção para ambientes de teste em vários contêineres, que permite aos desenvolvedores gerar localmente instâncias reproduzíveis de redes blockchain. + +O pacote Ethereum Kurtosis pode ser usado para instanciar rapidamente uma rede de teste Ethereum parametrizável, altamente dimensionável e privada no Docker ou no Kubernetes. O pacote é compatível com todos os principais clientes da camada de execução (EL) e da camada de consenso (CL). A Kurtosis lida com todos os mapeamentos de portas locais e conexões de serviço para uma rede representativa a ser usada em fluxos de trabalho de validação e teste relacionados à infraestrutura principal do Ethereum. + +- [Pacote de rede Ethereum](https://github.com/kurtosis-tech/ethereum-package) +- [Website](https://www.kurtosis.com/) +- [GitHub](https://github.com/kurtosis-tech/kurtosis) +- [Documentação](https://docs.kurtosis.com/) + ## Leitura adicional {#further-reading} -_Conhece algum recurso da comunidade que o ajudou? Edite essa página e adicione!_ +_Conhece um recurso da comunidade que te ajudou? Edite essa página e adicione!_ ## Tópicos relacionados {#related-topics} diff --git a/public/content/translations/pt-br/developers/docs/frameworks/index.md b/public/content/translations/pt-br/developers/docs/frameworks/index.md index fea3950b472..d23cc8707e9 100644 --- a/public/content/translations/pt-br/developers/docs/frameworks/index.md +++ b/public/content/translations/pt-br/developers/docs/frameworks/index.md @@ -22,6 +22,13 @@ Antes de mergulhar em frameworks, recomendamos que você primeiro leia a nossa i ## Frameworks disponíveis {#available-frameworks} +**Foundry** - **_Foundry é um kit de ferramentas incrivelmente rápido, portátil e modular para desenvolvimento de aplicativos Ethereum_** + +- [Instalar Foundry](https://book.getfoundry.sh/) +- [Livro sobre Foundry](https://book.getfoundry.sh/) +- [Bate-papo da comunidade Foundry no Telegram](https://t.me/foundry_support) +- [Awesome Foundry](https://github.com/crisgarner/awesome-foundry) + **Hardhat -** **_Ambiente de desenvolvimento da Ethereum para profissionais._** - [hardhat.org](https://hardhat.org) @@ -32,33 +39,28 @@ Antes de mergulhar em frameworks, recomendamos que você primeiro leia a nossa i - [Documentação](https://docs.apeworx.io/ape/stable/) - [GitHub](https://github.com/ApeWorX/ape) -**Brownie -** **_Ambiente de desenvolvimento e framework de testes em Python._** - -- [Documentação](https://eth-brownie.readthedocs.io/en/latest/) -- [GitHub](https://github.com/eth-brownie/brownie) - **Web3j -** **_Uma plataforma para desenvolver aplicativos blockchain na JVM._** - [Página inicial](https://www.web3labs.com/web3j-sdk) - [Documentação](https://docs.web3j.io) - [GitHub](https://github.com/web3j/web3j) -**OpenZeppelin SDK -** **_O Ultimate Smart Contract Toolkit: Um conjunto de ferramentas para ajudar você a desenvolver, compilar, atualizar, implantar e interagir com contratos inteligentes._** +**ethers-kt -** **_Biblioteca assíncrona de alto desempenho em Kotlin/Java/Android para blockchains baseadas em EVM._** -- [OpenZeppelin SDK](https://openzeppelin.com/sdk/) -- [GitHub](https://github.com/OpenZeppelin/openzeppelin-sdk) -- [Fórum da Comunidade](https://forum.openzeppelin.com/c/support/17) +- [GitHub](https://github.com/Kr1ptal/ethers-kt) +- [Exemplos](https://github.com/Kr1ptal/ethers-kt/tree/master/examples) +- [Discord](https://discord.gg/rx35NzQGSb) -**Create Eth App -** **_Crie aplicativos com a tecnologia Ethereum com apenas um comando. Vem com uma ampla oferta de estruturas de interface do usuário e modelos DeFi para escolher._** +**Criar um app Eth-** **_Crie aplicativos com a tecnologia Ethereum com apenas um comando. Vem com uma ampla oferta de estruturas de interface do usuário e modelos DeFi para escolher._** - [GitHub](https://github.com/paulrberg/create-eth-app) - [Modelos](https://github.com/PaulRBerg/create-eth-app/tree/develop/templates) -**Scaffold-Eth -** **_Ethers.js + Hardhat + React componentes e hooks para web3: tudo o que você precisa para começar a construir aplicativos descentralizados fornecidos por contratos inteligentes._** +**Scaffold-Eth -** **_componentes e hooks Ethers.js + Hardhat + React para web3: tudo o que você precisa para começar a criar aplicativos descentralizados com tecnologia de contratos inteligentes._** - [GitHub](https://github.com/scaffold-eth/scaffold-eth-2) -**Tenderly -** **_Plataforma de desenvolvimento web3 que permite aos desenvolvedores de blockchain construir, testar, depurar, monitorar e operar contratos inteligentes e melhora a UX do dapp._** +**Tenderly -** **_Plataforma de desenvolvimento web3 que permite aos desenvolvedores de blockchain criar, testar, depurar, monitorar e operar contratos inteligentes e melhorar a UX do dapp._** - [Website](https://tenderly.co/) - [Documentação](https://docs.tenderly.co/ethereum-development-practices) @@ -72,23 +74,75 @@ Antes de mergulhar em frameworks, recomendamos que você primeiro leia a nossa i - [alchemy.com](https://www.alchemy.com/) - [GitHub](https://github.com/alchemyplatform) -- [Discord](https://discord.com/invite/A39JVCM) +- [Discord](https://discord.com/invite/alchemyplatform) -**Foundry -** **_Um conjunto de ferramentas rápido, portátil e modular para o desenvolvimento do aplicativo Ethereum, escrito em Rust._** - -- [Documentação](https://book.getfoundry.sh/) -- [GitHub](https://github.com/gakonst/foundry/) -- [Ferramentas para Foundry](https://github.com/crisgarner/awesome-foundry) - -**NodeReal -** **_Plataforma de Desenvolvimento Ethereum._** +**NodeReal -** **_Plataforma de desenvolvimento Ethereum._** - [Nodereal.io](https://nodereal.io/) - [GitHub](https://github.com/node-real) - [Discord](https://discord.gg/V5k5gsuE) +**thirdweb SDK -** **_Crie aplicativos web3 que podem interagir com seus contratos inteligentes usando nossos SDKs e CLI avançados._** + +- [Documentação](https://portal.thirdweb.com/sdk/) +- [GitHub](https://github.com/thirdweb-dev/) + +**Chainstack -** **_Plataforma de desenvolvimento Web3 (Ethereum e outros)._** + +- [chainstack.com](https://www.chainstack.com/) +- [GitHub](https://github.com/chainstack) +- [Discord](https://discord.gg/BSb5zfp9AT) + +**Crossmint-****_A plataforma web3 de desenvolvimento a nível empresarial que permite a criação de NFTs nas principais cadeias EVM (entre outras)._** + +- [Website](https://www.crossmint.com) +- [Documentação](https://docs.crossmint.com) +- [Discord](https://discord.com/invite/crossmint) + +**Brownie -** **_Ambiente de desenvolvimento e framework de testes em Python._** + +- [Documentação](https://eth-brownie.readthedocs.io/en/latest/) +- [GitHub](https://github.com/eth-brownie/brownie) +- **Brownie deixou de ser desenvolvido** + +**OpenZeppelin SDK -** **_The Ultimate Smart Contract Toolkit: um conjunto de ferramentas para ajudar você a desenvolver, compilar, atualizar, implantar e interagir com contratos inteligentes._** + +- [SDK da OpenZeppelin](https://openzeppelin.com/sdk/) +- [GitHub](https://github.com/OpenZeppelin/openzeppelin-sdk) +- [Fórum da Comunidade](https://forum.openzeppelin.com/c/support/17) +- **O desenvolvimento do SDK da OpenZeppelin foi finalizado** + +**Catapulta -** **_Ferramenta de contrato inteligente em várias cadeias que automatiza a verificação em exploradores de blocos, monitora os contratos inteligentes e compartilha relatórios de implementação desse contratos plug-n-play para projetos Foundry e Hardhat._** + +- [Website](https://catapulta.sh/) +- [Documentação](https://catapulta.sh/docs) +- [GitHub](https://github.com/catapulta-sh) + +**Covalent -** **_APIs de blockchain enriquecidas para mais de 200 redes._** + +- [covalenthq.com](https://www.covalenthq.com/) +- [Documentação](https://www.covalenthq.com/docs/api/) +- [GitHub](https://github.com/covalenthq) +- [Discord](https://www.covalenthq.com/discord/) + +**Wake -** **_Tudo em um Framework Python completo para testes de contratos, fuzzing, implantação, varredura de vulnerabilidades e navegação no código._** + +- [Página inicial](https://getwake.io/) +- [Documentação](https://ackeeblockchain.com/wake/docs/latest/) +- [GitHub](https://github.com/Ackee-Blockchain/wake) +- [Extensão VS Code](https://marketplace.visualstudio.com/items?itemName=AckeeBlockchain.tools-for-solidity) + +**Veramo -** **_Framework de código aberto, modular e agnóstico que facilita para os desenvolvedores de aplicativos descentralizados a integração de identidades descentralizadas e credenciais verificáveis em suas aplicações._** + +- [Página inicial](https://veramo.io/) +- [Documentação](https://veramo.io/docs/basics/introduction) +- [GitHub](https://github.com/uport-project/veramo) +- [Discord](https://discord.com/invite/FRRBdjemHV) +- [Pacote NPM](https://www.npmjs.com/package/@veramo/core) + ## Leitura adicional {#further-reading} -_Conhece algum recurso da comunidade que o ajudou? Edite essa página e adicione!_ +_Conhece um recurso da comunidade que te ajudou? Edite essa página e adicione!_ ## Tópicos relacionados {#related-topics} diff --git a/public/content/translations/pt-br/developers/docs/ides/index.md b/public/content/translations/pt-br/developers/docs/ides/index.md index 44f34b014d7..e2ee2caa51f 100644 --- a/public/content/translations/pt-br/developers/docs/ides/index.md +++ b/public/content/translations/pt-br/developers/docs/ides/index.md @@ -37,7 +37,6 @@ A maioria dos IDEs estabelecidos possuem plugins integrados para melhorar a expe **Visual Studio Code -** **_IDE profissional multiplataforma com suporte oficial da Ethereum._** - [Visual Studio Code](https://code.visualstudio.com/) -- [Bancada de trabalho para Azure Blockchain](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/microsoft-azure-blockchain.azure-blockchain-workbench?tab=Overview) - [Amostras de código](https://github.com/Azure-Samples/blockchain/blob/master/blockchain-workbench/application-and-smart-contract-samples/readme.md) - [GitHub](https://github.com/microsoft/vscode) @@ -60,4 +59,6 @@ A maioria dos IDEs estabelecidos possuem plugins integrados para melhorar a expe ## Leitura adicional {#further-reading} +- [Ethereum IDEs](https://www.alchemy.com/list-of/web3-ides-on-ethereum) _- Lista de IDEs para o Ethereum da Alchemy_ + _Conhece algum recurso da comunidade que o ajudou? Edite essa página e adicione!_ diff --git a/public/content/translations/pt-br/developers/docs/programming-languages/dart/index.md b/public/content/translations/pt-br/developers/docs/programming-languages/dart/index.md index 7c6bbdbb1d2..f4b1b45db48 100644 --- a/public/content/translations/pt-br/developers/docs/programming-languages/dart/index.md +++ b/public/content/translations/pt-br/developers/docs/programming-languages/dart/index.md @@ -13,13 +13,14 @@ incomplete: true 1. Escrevendo um contrato inteligente em [Solidity](https://soliditylang.org/) 2. Escrevendo uma interface de usuário no Dart - [Construir um dapp para dispositivos móveis com Flutter](https://medium.com/dash-community/building-a-mobile-dapp-with-flutter-be945c80315a) é muito mais curto, o que pode ser melhor -- Se você prefere aprender através de vídeos, você pode assistir [Build Your First Blockchain Flutter App](https://www.youtube.com/watch?v=3Eeh3pJ6PeA), que leva aproximadamente uma hora +- Se você preferir aprender assistindo a um vídeo, acesse [Criando seu primeiro app blockchain com Flutter](https://www.youtube.com/watch?v=3Eeh3pJ6PeA), que dura 1 hora - Se você é impaciente, talvez prefira o [Building a Blockchain Decentralized-app with Flutter and Dart on Ethereum](https://www.youtube.com/watch?v=jaMFEOCq_1s), que leva apenas vinte minutos -- [Integrating MetaMask in Flutter application](https://youtu.be/8qzVDje3IWk) - Este pequeno vídeo mostra as etapas de integração do MetaMask em seus aplicativos Flutter +- [Integrando MetaMask no aplicativo Flutter com Web3Modal da WalletConnect](https://www.youtube.com/watch?v=v_M2buHCpc4) - este vídeo curto mostra as etapas de integração do MetaMask dentro do aplicativo Flutter com a biblioteca da WalletConnect [Web3Modal](https://pub.dev/packages/web3modal_flutter) +- [Curso Bootcamp para Desenvolvedores de Blockchain Móvel com Solidity e Flutter](https://youtube.com/playlist?list=PL4V4Unlk5luhQ26ERO6hWEbcUwHDSSmVH) - playlist de cursos para desenvolvedores de blockchain móvel full stack ## Trabalhando com clientes Ethereum {#working-with-ethereum-clients} -Você pode usar Ethereum para criar aplicativos descentralizados (ou "dapps") que utilizam os benefícios da tecnologia de criptomoedas e cadeia de blocos. Existem ao menos duas bibliotecas mantidas atualmente para Dart, para usar [JSON RPC API](/developers/docs/apis/json-rpc/) para Ethereum. +Você pode usar Ethereum para criar aplicativos descentralizados (ou "dapps") que utilizam os benefícios da tecnologia de criptomoedas e cadeia de blocos. Atualmente existem pelo menos duas bibliotecas mantidas para Dart que usam a [API JSON-RPC](/developers/docs/apis/json-rpc/) para o Ethereum. 1. [Web3dart de simonbutler.eu](https://pub.dev/packages/web3dart) 1. [Ethereum 5.0.0 de darticulate.com](https://pub.dev/packages/ethereum) diff --git a/public/content/translations/pt-br/developers/docs/programming-languages/dot-net/index.md b/public/content/translations/pt-br/developers/docs/programming-languages/dot-net/index.md index 271882b7b7a..70bd887d3e5 100644 --- a/public/content/translations/pt-br/developers/docs/programming-languages/dot-net/index.md +++ b/public/content/translations/pt-br/developers/docs/programming-languages/dot-net/index.md @@ -76,9 +76,9 @@ Procurando por mais recursos? Confira [ethereum.org/developers](/developers/). ## Colaboradores comunitários .NET {#dot-net-community-contributors} -Na Nethereum, nós geralmente nos encontramos no [Gitter](https://gitter.im/Nethereum/Nethereum) onde todos são bem vindos para fazer e responder perguntas, obter ajuda ou simplesmente relaxar. Sinta-se à vontade para fazer uma PR ou abrir uma questão no [repositório da Nethereum no GitHub](https://github.com/Nethereum), ou apenas para navegar pelos vários projetos paralelos e exemplos que temos. Você também pode nos encontrar em [Discord](https://discord.gg/jQPrR58FxX)! +Na Nethereum, nós geralmente nos encontramos no [Gitter](https://gitter.im/Nethereum/Nethereum) onde todos são bem vindos para fazer e responder perguntas, obter ajuda ou simplesmente relaxar. Sinta-se à vontade para fazer uma PR ou abrir uma questão no [repositório da Nethereum no Github](https://github.com/Nethereum), ou apenas para navegar pelos vários projetos paralelos e exemplos que temos. Você também pode nos encontrar em [Discord](https://discord.gg/jQPrR58FxX)! -Se você é novo no Nethermind e precisa de ajuda para começar, junte-se ao nosso [Discord](http://discord.gg/PaCMRFdvWT). Os nossos desenvolvedores estão prontos para responder às suas perguntas. Para PRs ou problemas, confira o [repositório do GitHub da Nethermind](https://github.com/NethermindEth/nethermind). +Se você é novo no Nethermind e precisa de ajuda para começar, junte-se ao nosso [Discord](http://discord.gg/PaCMRFdvWT). Os nossos desenvolvedores estão prontos para responder às suas perguntas. Para PRs ou problemas, confira o [repositório do Github da Nethermind](https://github.com/NethermindEth/nethermind). ## Outras listas agregadas {#other-aggregated-lists} diff --git a/public/content/translations/pt-br/developers/docs/programming-languages/elixir/index.md b/public/content/translations/pt-br/developers/docs/programming-languages/elixir/index.md new file mode 100644 index 00000000000..d5792e6d1d6 --- /dev/null +++ b/public/content/translations/pt-br/developers/docs/programming-languages/elixir/index.md @@ -0,0 +1,56 @@ +--- +title: Ethereum para Desenvolvedores Elixir +description: Aprenda a desenvolver para Ethereum usando projetos e ferramentas baseadas em Elixir. +lang: pt-br +incomplete: false +--- + +Aprenda a desenvolver para Ethereum usando projetos e ferramentas baseadas em Elixir. + +Utilize Ethereum para criar aplicações descentralizadas ("dapps") que utilizam os benefícios das criptomoedas e tecnologias de cadeia de blocos. Esses dapps podem ser confiáveis, o que significa que, uma vez implantados na Ethereum, eles sempre serão executados conforme programado. Eles podem controlar ativos digitais para criar novos tipos de aplicações financeiros. Eles podem ser descentralizados, o que significa que nenhuma entidade ou pessoa os controla, sendo portanto praticamente impossíves de serem censurados. + +## Começando com contratos inteligentes e a linguagem Solidity {#getting-started-with-smart-contracts-and-solidity} + +**Dê seus primeiros passos para integrar Elixir com Ethereum** + +Precisa de uma introdução geral? +Confira [ethereum.org/learn](/learn/) ou [ethereum.org/developers](/developers/). + +- [Blockchain Explicada](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [Entendendo Contratos Inteligentes](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [Escreva seu Primeiro Contrato Inteligente](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [Aprenda a Compilar e Implantar o Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## Artigos para iniciantes {#beginner-articles} + +- [Finalmente entendendo as contas da Ethereum](https://dev.to/q9/finally-understanding-ethereum-accounts-1kpe) +- [Ethers — Uma biblioteca Web3 de primeira classe para Ethereum em Elixir](https://medium.com/@alisinabh/announcing-ethers-a-first-class-ethereum-web3-library-for-elixir-1d64e9409122) + +## Artigos Intermediários {#intermediate-articles} + +- [Como assinar transações brutas de contratos Ethereum com Elixir](https://kohlerjp.medium.com/how-to-sign-raw-ethereum-contract-transactions-with-elixir-f8822bcc813b) +- [Contratos Inteligentes Ethereum e Elixir](https://medium.com/agile-alpha/ethereum-smart-contracts-and-elixir-c7c4b239ddb4) + +## Projetos e Ferramentas para Elixir {#elixir-projects-and-tools} + +### Ativo {#active} + +- [block_keys](https://github.com/ExWeb3/block_keys) - _Implementação de BIP32 e BIP44 em Elixir (Hierarquia de Multi-Conta para Carteiras Determinísticas)_ +- [ethereumex](https://github.com/mana-ethereum/ethereumex) - _Cliente JSON-RPC em Elixir para a blockchain Ethereum_ +- [ethers](https://github.com/ExWeb3/elixir_ethers) - _Uma biblioteca Web3 abrangente para interagir com contratos inteligentes na Ethereum usando Elixir_ +- [ethers_kms](https://github.com/ExWeb3/elixir_ethers_kms) - _Uma biblioteca de assinatura KMS para Ethers (assine transações com AWS KMS)_ +- [ex_abi](https://github.com/poanetwork/ex_abi) - _Implementação de parser/decodificador/codificador de ABI da Ethereum em Elixir_ +- [ex_keccak](https://github.com/ExWeb3/ex_keccak) - _Biblioteca Elixir para calcular hashes Keccak SHA3-256 usando um NIF baseado na tiny-keccak Rust crate_ +- [ex_rlp](https://github.com/mana-ethereum/ex_rlp) - _Implementação em Elixir da codificação RLP (Recursive Length Prefix) da Ethereum_ + +### Arquivado / Não é mais mantido {#archived--no-longer-maintained} + +- [eth](https://hex.pm/packages/eth) - _Utilitários de Ethereum para Elixir_ +- [exw3](https://github.com/hswick/exw3) - _Cliente RPC Ethereum de alto nível para Elixir_ +- [mana](https://github.com/mana-ethereum/mana) - _Implementação de nó completo do Ethereum escrita em Elixir_ + +Procurando por mais recursos? Confira [nossa página para Desenvolvedores](/developers/). + +## Contribuidores da comunidade Elixir {#elixir-community-contributors} + +O [canal #ethereum no Slack do Elixir](https://elixir-lang.slack.com/archives/C5RPZ3RJL) é o lar de uma comunidade em rápido crescimento e o recurso dedicado para discussões sobre quaisquer dos projetos acima e tópicos relacionados. diff --git a/public/content/translations/pt-br/developers/docs/programming-languages/golang/index.md b/public/content/translations/pt-br/developers/docs/programming-languages/golang/index.md index e14e5475183..9a6d1a947b1 100644 --- a/public/content/translations/pt-br/developers/docs/programming-languages/golang/index.md +++ b/public/content/translations/pt-br/developers/docs/programming-languages/golang/index.md @@ -64,6 +64,7 @@ Precisa de uma introdução geral? Confira [ethereum.org/learn](/learn/) ou [eth - [Multi Geth](https://github.com/multi-geth/multi-geth) - _Suporte para muitos tipos de redes Ethereum_ - [Geth Light Cliente](https://github.com/zsfelfoldi/go-ethereum/wiki/Geth-Light-Client) - _Implementação do Geth do Subprotocolo Light Ethereum_ - [Ethereum Golang SDK](https://github.com/everFinance/goether) - _Uma implementação simples de carteira Ethereum e utilitários em Golang_ +- [Covalent Golang SDK](https://github.com/covalenthq/covalent-api-sdk-go) - _Acesso eficiente a dados blockchain via SDK Go para mais de 200 blockchains_ Procurando por mais recursos? Confira [ethereum.org/developers](/developers/) diff --git a/public/content/translations/pt-br/developers/docs/programming-languages/index.md b/public/content/translations/pt-br/developers/docs/programming-languages/index.md index d7c56bd6858..2f2aba6889e 100644 --- a/public/content/translations/pt-br/developers/docs/programming-languages/index.md +++ b/public/content/translations/pt-br/developers/docs/programming-languages/index.md @@ -15,6 +15,7 @@ Selecione a sua linguagem de programação preferida para encontrar projetos, re - [Ethereum para desenvolvedores Dart](/developers/docs/programming-languages/dart/) - [Ethereum para desenvolvedores Delphi](/developers/docs/programming-languages/delphi/) - [Ethereum para desenvolvedores .NET](/developers/docs/programming-languages/dot-net/) +- [Ethereum para desenvolvedores Elixir](/developers/docs/programming-languages/elixir/) - [Ethereum para desenvolvedores Go](/developers/docs/programming-languages/golang/) - [Ethereum para desenvolvedores Java](/developers/docs/programming-languages/java/) - [Ethereum para desenvolvedores JavaScript](/developers/docs/programming-languages/javascript/) diff --git a/public/content/translations/pt-br/developers/docs/programming-languages/java/index.md b/public/content/translations/pt-br/developers/docs/programming-languages/java/index.md index eb4ab8f781f..e607f84a79d 100644 --- a/public/content/translations/pt-br/developers/docs/programming-languages/java/index.md +++ b/public/content/translations/pt-br/developers/docs/programming-languages/java/index.md @@ -20,7 +20,7 @@ Precisa de uma introdução geral? Confira [ethereum.org/learn](/learn/) ou [eth - [Escreva seu primeiro Smart Contract](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) - [Aprenda como Compilar e Implementar Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) -## Trabalhando com clientes Ethereum {#working-with-ethereum-clients} +## Trabalhando com clientes Ethereum {#working-with-ethereum-clients} Aprenda como usar [Web3J](https://github.com/web3j/web3j)e Besu Hiperregistro, dois principais clientes Java Ethereum @@ -31,22 +31,28 @@ Aprenda como usar [Web3J](https://github.com/web3j/web3j)e Besu Hiperregistro, d - [Monitorando Eventos de Smart Contracts Ethereum](https://kauri.io/article/760f495423db42f988d17b8c145b0874/listening-for-ethereum-smart-contract-events-in-java) - [Usando Besu (Pantheon), o Cliente Ethereum Java com Linux](https://kauri.io/article/276dd27f1458443295eea58403fd6965/using-pantheon-the-java-ethereum-client-with-linux) - [Executando um Nó de Hyperledger Besu (Pantheon) em testes de integração com Java](https://kauri.io/article/7dc3ecc391e54f7b8cbf4e5fa0caf780/running-a-pantheon-node-in-java-integration-tests) -- [Dicas Web3j]() +- [Dicas Web3j](https://kauri.io/web3j-cheat-sheet-(java-ethereum)/5dfa1ea941ac3d0001ce1d90/c) -## Artigos intermediários {#intermediate-articles} +Aprenda a usar [ethers-kt](https://github.com/Kr1ptal/ethers-kt), uma biblioteca Kotlin assíncrona e de alto desempenho para interagir com blockchains baseadas em EVM. Destinada às plataformas JVM e Android. +- [Transferir tokens ERC20](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/abi/TransferERC20.kt) +- [Troca UniswapV2 com escuta de eventos](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/tokenswapwitheventlistening/TokenSwapWithEventListening.kt) +- [Rastreador de saldo ETH / ERC20](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/balancetracker/BalanceTracker.kt) + +## Artigos intermediários {#intermediate-articles} - [Gerenciando o armazenamento em um aplicativo Java com IPFS](https://kauri.io/article/3e8494f4f56f48c4bb77f1f925c6d926/managing-storage-in-a-java-application-with-ipfs) - [Gerenciando tokens ERC20 em Java com Web3j](https://kauri.io/article/d13e911bbf624108b1d5718175a5e0a0/manage-erc20-tokens-in-java-with-web3j) - [Gerentes de Transações Web3j](https://kauri.io/article/4cb780bb4d0846438d11885a25b6d7e7/web3j-transaction-managers) -## Padrões de uso avançados {#advanced-use-patterns} +## Padrões de uso avançados {#advanced-use-patterns} - [Usando o Eventeum para construir um cache de dados de Smart Contract em Java](https://kauri.io/article/fe81ee9612eb4e5a9ab72790ef24283d/using-eventeum-to-build-a-java-smart-contract-data-cache) -## Projetos e ferramentas em Java {#java-projects-and-tools} +## Projetos e ferramentas em Java {#java-projects-and-tools} - [Hyperledger Besu (Pantheon) (Cliente Ethereum)](https://docs.pantheon.pegasys.tech/en/stable/) - [Web3J (Biblioteca para Interagir com Clientes Ethereum)](https://github.com/web3j/web3j) +- [ethers-kt (Biblioteca Kotlin/Java/Android assíncrona e de alto desempenho para blockchains baseadas em EVM.)](https://github.com/Kr1ptal/ethers-kt) - [Evento (Monitorador de eventos)](https://github.com/ConsenSys/eventeum) - [Mahuta (Ferramenta de Desenvolvedor IPFS)](https://github.com/ConsenSys/mahuta) diff --git a/public/content/translations/pt-br/developers/docs/programming-languages/javascript/index.md b/public/content/translations/pt-br/developers/docs/programming-languages/javascript/index.md index 531cd8efdd0..3fe8201fb9c 100644 --- a/public/content/translations/pt-br/developers/docs/programming-languages/javascript/index.md +++ b/public/content/translations/pt-br/developers/docs/programming-languages/javascript/index.md @@ -19,7 +19,8 @@ Você pode usar essas bibliotecas para interagir com contratos inteligentes na E **Confira** - [Web3.js](https://web3js.readthedocs.io/) -- [Ethers.js - Implementação completa de uma carteira Ethereum e utilidades em JavaScript e TypeScript.](https://docs.ethers.io/) +- [Ethers.js](https://docs.ethers.io/)_— Implementação completa de uma carteira Ethereum e utilidades em JavaScript e TypeScript._ +- [viem](https://viem.sh) – uma interface TypeScript para Ethereum que fornece primitivas sem estado de baixo nível para interagir com Ethereum. ### Smart Contracts {#smart-contracts} @@ -50,10 +51,12 @@ Se você prefere ler código, esse JavaScript poderia ser uma ótima alternativa ### Nós e clientes {#nodes-and-clients} -Há um cliente Ethereumjs no desenvolvimento. Isso permitirá que você procure em como os clientes da Ethereum trabalham em uma linguagem que você entenda. +Um cliente Ethereumjs está em desenvolvimento ativo que permite você explorar como os clientes Ethereum funcionam em um idioma que você entende; JavaScript! + +Ele costumava estar hospedado em um [`repositório`](https://github.com/ethereumjs/ethereumjs-client) autônomo, no entanto, foi posteriormente incorporado ao monorepo EthereumVM como um pacote. **Confira o monorepo** -[`ethereumjs`](https://github.com/ethereumjs/ethereumjs-client) +[`ethereumjs`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client) ## Outros projetos {#other-projects} @@ -67,4 +70,4 @@ Explore o que mais lhe interessa no [repositório EthereumJS](https://github.com ## Leitura adicional {#further-reading} -_Conhece algum recurso da comunidade que o ajudou? Edite essa página e adicione!_ +_Conhece um recurso da comunidade que te ajudou? Edite essa página e adicione!_ diff --git a/public/content/translations/pt-br/developers/docs/programming-languages/python/index.md b/public/content/translations/pt-br/developers/docs/programming-languages/python/index.md index 1cf6176d26b..de023899096 100644 --- a/public/content/translations/pt-br/developers/docs/programming-languages/python/index.md +++ b/public/content/translations/pt-br/developers/docs/programming-languages/python/index.md @@ -32,7 +32,7 @@ Precisa de uma introdução geral? Confira [ethereum.org/learn](/learn/) ou [eth ## Artigos intermediários {#intermediate-articles} -- [Devenvolvimento de Dapp para programadores Python](https://levelup.gitconnected.com/dapps-development-for-python-developers-f52b32b54f28) +- [Desenvolvimento de Dapp para programadores Python](https://levelup.gitconnected.com/dapps-development-for-python-developers-f52b32b54f28) - [Criando uma Interface Python Ethereum: Parte 1](https://hackernoon.com/creating-a-python-ethereum-interface-part-1-4d2e47ea0f4d) - [Contratos Inteligentes Ethereum em Python: um guia (mais ou menos) abrangente](https://hackernoon.com/ethereum-smart-contracts-in-python-a-comprehensive-ish-guide-771b03990988) - [Usando Brownie e Python para implantar Contratos Inteligentes](https://dev.to/patrickalphac/using-brownie-for-to-deploy-smart-contracts-1kkp) @@ -51,21 +51,22 @@ Precisa de uma introdução geral? Confira [ethereum.org/learn](/learn/) ou [eth - [Web3.py](https://github.com/ethereum/web3.py) - _Biblioteca em Python para interagir com Ethereum_ - [Vyper](https://github.com/ethereum/vyper/) - _Linguagem de Smart Contract em Python para a Máquina Virtual Ethereum_ - [Ape](https://github.com/ApeWorX/ape) - _A ferramenta de desenvolvimento de contrato inteligente (smart contract) para Pythonistas, Cientistas de Dados e Profissionais de Segurança_ -- [Brownie](https://github.com/eth-brownie/brownie) - _Framework em Python para implantar, testar e interagir com contratos inteligentes Ethereum_ - [py-evm](https://github.com/ethereum/py-evm) - _Implementação de uma Máquina Virtual Ethereum_ - [eth-tester](https://github.com/ethereum/eth-tester) - _ferramentas para testar aplicativos baseados na Ethereum_ - [eth-utils](https://github.com/ethereum/eth-utils/) - _funções de utilidade para trabalhar com bases de código relacionadas com a Ethereum_ -- [py-solc-x](https://pypi.org/project/py-solc-x/) - _wrapper em Python em cima do compilador solc solidity com suporte à versão 0.5._ -- [py-wasm](https://github.com/ethereum/py-wasm) - _implementação em Python de um intérprete de montagem web_ -- [pydevp2p](https://github.com/ethereum/pydevp2p) - _Implementação de uma pilha P2P Ethereum_ +- [py-solc-x](https://pypi.org/project/py-solc-x/) - _wrapper em Python em cima do compilador solc solidity com suporte à versão 0.5.x_ - [pymaker](https://github.com/makerdao/pymaker) - _API em Python para contratos Maker_ - [siwe](https://github.com/spruceid/siwe-py) - _Registre-se com Ethereum (siwe) para Python_ - [Web3 DeFi para integrações Ethereum](https://github.com/tradingstrategy-ai/web3-ethereum-defi) - _Um pacote Python com integrações prontas para ERC-20, Uniswap e outros projetos populares_ +- [Wake](https://getwake.io) - _Framework Python completo para teste de contratos, fuzzing, implantação, varredura de vulnerabilidades e navegação de código (servidor de linguagem - [Ferramentas para Solidez](https://marketplace.visualstudio.com/items?itemName=AckeeBlockchain.tools-for-solidity))_ ### Arquivado / Não mais mantido: {#archived--no-longer-maintained} - [Trinity](https://github.com/ethereum/trinity) - _cliente Ethereum Python_ - [Mamba](https://github.com/arjunaskykok/mamba) - _Framework para escrever, compilar e implantar contratos inteligentes escritos em linguagem Vyper_ +- [Brownie](https://github.com/eth-brownie/brownie) - _Framework em Python para implantar, testar e interagir com contratos inteligentes Ethereum_ +- [pydevp2p](https://github.com/ethereum/pydevp2p) - _Implementação de uma pilha P2P Ethereum_ +- [py-wasm](https://github.com/ethereum/py-wasm) - _implementação em Python de um intérprete de montagem web_ Procurando por mais recursos? Confira [ethereum.org/developers](/developers/). @@ -82,8 +83,8 @@ Os seguintes projetos baseados na Ethereum usam ferramentas mencionadas nesta p ## Comunidade de discussão Python {#python-community-contributors} - [Comunidade Discord Python Ethereum](https://discord.gg/9zk7snTfWe) Para discussões sobre Web3.py e outros frameworks Python -- [Vyper Discord](https://discord.gg/SdvKC79cJk) Para discussão sobre programação de contrato inteligente com Vyper +- [Vyper Discord](https://discord.gg/SdvKC79cJk) Para discussões sobre a programação de contratos inteligentes com Vyper ## Demais listas agregadas {#other-aggregated-lists} -A wiki Vyper tem uma [Lista incrível de recursos para Vyper](https://github.com/ethereum/vyper/wiki/Vyper-tools-and-resources) +A wiki Vyper tem uma [Lista incrível de recursos sobre Vyper](https://github.com/vyperlang/vyper/wiki/Vyper-tools-and-resources) \ No newline at end of file diff --git a/public/content/translations/pt-br/developers/docs/programming-languages/rust/index.md b/public/content/translations/pt-br/developers/docs/programming-languages/rust/index.md index a4ecf6a72dc..778eeb53457 100644 --- a/public/content/translations/pt-br/developers/docs/programming-languages/rust/index.md +++ b/public/content/translations/pt-br/developers/docs/programming-languages/rust/index.md @@ -22,9 +22,8 @@ Precisa de uma introdução geral? Confira [ethereum.org/learn](/learn/) ou [eth ## Artigos para Iniciantes {#beginner-articles} -- [O cliente Rust Ethereum](https://openethereum.github.io/) /**\*Note que o OpenEthereum [foi descontinuado](https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd) e não está mais sendo mantido.** Use-o com cuidado e de preferência mude para outra implementação do cliente. +- [O cliente Rust Ethereum](https://openethereum.github.io/) /***Note que o OpenEthereum [foi descontinuado](https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd) e não está mais sendo mantido.** Use-o com cuidado e de preferência mude para outra implementação do cliente. - [Enviando uma transação para Ethereum usando Rust](https://kauri.io/#collections/A%20Hackathon%20Survival%20Guide/sending-ethereum-transactions-with-rust/) -- [Uma Introdução aos Contratos Inteligentes com o Cliente Parity Ethereum](https://wiki.parity.io/Smart-Contracts) - [Um tutorial passo a passo sobre como criar contratos em Rust Wasm para Kovan](https://github.com/paritytech/pwasm-tutorial) ## Artigos para intermediários {#intermediate-articles} @@ -35,7 +34,6 @@ Precisa de uma introdução geral? Confira [ethereum.org/learn](/learn/) ou [eth - [Construa um bate-papo descentralizado utilizando JavaScript e Rust](https://medium.com/perlin-network/build-a-decentralized-chat-using-javascript-rust-webassembly-c775f8484b52) - [Construa um aplicativo descentralizado de tarefas utilizando Vue.js & Rust](https://medium.com/@jjmace01/build-a-decentralized-todo-app-using-vue-js-rust-webassembly-5381a1895beb) -- [Uma Introdução a Contratos Secretos](https://blog.enigma.co/getting-started-with-enigma-an-intro-to-secret-contracts-cdba4fe501c2) - [Construir uma blockchain no Rust](https://blog.logrocket.com/how-to-build-a-blockchain-in-rust/) ## Projetos e ferramentas em Rust {#rust-projects-and-tools} @@ -47,11 +45,13 @@ Precisa de uma introdução geral? Confira [ethereum.org/learn](/learn/) ou [eth - [Solaris](https://github.com/paritytech/sol-rs) — _Agente de teste unitário dos contratos inteligentes no Solidity usando o EVM nativo do cliente Parity._ - [SputnikVM](https://github.com/rust-blockchain/evm) — _Implementação da Máquina Virtual do Ethereum no Rust_ - [Wavelet](https://wavelet.perlin.net/docs/smart-contracts) - _smart contract Wavelet em Rust_ -- [Foundry](https://github.com/foundry-rs/foundry) - _Conjunto de ferramentas para o desenvolvimento de aplicativos Ethereum_ -- [Alloy](https://alloy.rs) - _Bibliotecas de alto desempenho, bem testadas e documentadas para interação com Ethereum e outras cadeias baseadas em EVM._ -- [Ethers_rs](https://github.com/gakonst/ethers-rs) - _Implementação da biblioteca e da carteira Ethereum_ +- [Foundry](https://github.com/foundey-rs/foundry) — _Conjunto de ferramentas para o desenvolvimento de aplicativos Ethereum_ +- [Alloy](https://alloy.rs) - _Bibliotecas de alto desempenho, bem testadas e documentadas para interagir com Ethereum e outras cadeias baseadas em EVM._ +- [Ethers_rs](https://github.com/gakonst/ethers-rs) - _Biblioteca Ethereum e implementação de carteira_ - [SewUp](https://github.com/second-state/SewUp) — _Uma biblioteca para ajudar você a construir seu contrato Webassembly do Ethereum com o Rust e desenvolvê-lo em um back-end comum_ -- [Reth](https://github.com/paradigmxyz/reth) Reth (abreviação de Rust Ethereum, pronúncia) é uma nova implementação de nó completo do Ethereum +- [Substreams](https://github.com/streamingfast/substreams) - _Tecnologia de indexação de dados paralelizada em blockchain_ +- [Reth](https://github.com/paradigmxyz/reth) - Reth (abreviação de Rust Ethereum) é uma nova implementação de nó completo do Ethereum +- [Awesome Ethereum Rust](https://github.com/Vid201/awesome-ethereum-rust) - _Uma coleção selecionada de projetos no ecossistema Ethereum escritos em Rust_ Procurando por mais recursos? Leia [ethereum.org/developers.](/developers/) diff --git a/public/content/translations/pt-br/developers/docs/smart-contracts/security/index.md b/public/content/translations/pt-br/developers/docs/smart-contracts/security/index.md index 3fdeccb47a5..7740a400837 100644 --- a/public/content/translations/pt-br/developers/docs/smart-contracts/security/index.md +++ b/public/content/translations/pt-br/developers/docs/smart-contracts/security/index.md @@ -563,7 +563,7 @@ Se você planeja consultar um oráculo on-chain para preços de ativos, consider - **[Padrão de Verificação de Segurança de Contrato Inteligente](https://github.com/securing/SCSVS)** - _Lista de verificação de quatorze partes criadas para padronizar a segurança de contratos inteligentes para desenvolvedores, arquitetos, revisores de segurança e fornecedores._ -- **[Aprenda sobre segurança e auditoria de contratos inteligentes](https://updraft.cyfrin.io/courses/security)** - _Curso definitivo de segurança e auditoria de contratos inteligentes, criado para desenvolvedores de contratos inteligentes que desejam melhorar suas práticas recomendadas de segurança e se tornar pesquisadores de segurança._ +- **[Aprenda sobre segurança e auditoria de contratos inteligentes](https://updraft.cyfrin.io/courses/security) - _Curso definitivo de segurança e auditoria de contratos inteligentes, criado para desenvolvedores de contratos inteligentes que desejam melhorar suas práticas recomendadas de segurança e se tornar pesquisadores de segurança._ ### Tutoriais sobre segurança de contratos inteligentes {#tutorials-on-smart-contract-security} diff --git a/public/content/translations/pt-br/developers/docs/storage/index.md b/public/content/translations/pt-br/developers/docs/storage/index.md index 48d9166097a..ca22c62ad58 100644 --- a/public/content/translations/pt-br/developers/docs/storage/index.md +++ b/public/content/translations/pt-br/developers/docs/storage/index.md @@ -61,6 +61,7 @@ IPFS é um sistema distribuído para armazenamento e acesso a arquivos, sites, a - [Verificação IPFS](https://ipfs-scan.io) _(explorador de fixação de IPFS)_ - [4EVERLAND](https://www.4everland.org/)_ (Serviço de fixação IPFS) _ - [Filebase](https://filebase.com) _(Serviço de Fixação IPFS)_ +- [Spheron Network](https://spheron.network/) _(serviço de pinning IPFS/Filecoin)_ SWARM é uma tecnologia descentralizada de armazenamento e distribuição de dados com um sistema de incentivo ao armazenamento e um oráculo de preços de aluguel de armazenamento. @@ -87,7 +88,6 @@ Não há ótimas ferramentas para medir o nível de descentralização das plata Ferramentas descentralizadas sem KYC: -- Züs (implementação de uma edição não-KYC) - Skynet - Arweave - Filecoin @@ -144,7 +144,7 @@ Baseado em prova de participação (proof-of-stake): - [Documentação](https://docs.arweave.org/info/) - [Arweave](https://github.com/ArweaveTeam/arweave/) -**Züs - _Züs é uma plataforma de prova de participação dStorage com fragmentação e blobbers._** +**Züs - _Züs é uma plataforma de dStorage baseada em prova de participação, com suporte a fragmentação e blobbers._** - [zus.network](https://zus.network/) - [Documentação](https://0chaindocs.gitbook.io/zus-docs) @@ -198,6 +198,12 @@ Baseado em prova de participação (proof-of-stake): - [Documentação](https://docs.kaleido.io/kaleido-services/ipfs/) - [GitHub](https://github.com/kaleido-io) +**Spheron Network - _Spheron é uma plataforma como serviço (PaaS) projetada para dApps que busca lançar seus aplicativos em infraestrutura descentralizada com o melhor desempenho. Oferece computação, armazenamento descentralizado, CDN e hospedagem web prontos para uso._** + +- [spheron.network](https://spheron.network/) +- [Documentação](https://docs.spheron.network/) +- [GitHub](https://github.com/spheronFdn) + ## Leitura adicional {#further-reading} - [O que é armazenamento descentralizado?](https://coinmarketcap.com/alexandria/article/what-is-decentralized-storage-a-deep-dive-by-filecoin) - _CoinMarketCap_ diff --git a/src/intl/pt-br/common.json b/src/intl/pt-br/common.json index 45a5c98b950..726ec28812a 100644 --- a/src/intl/pt-br/common.json +++ b/src/intl/pt-br/common.json @@ -250,6 +250,8 @@ "nav-emerging-description": "Conheça outros casos de uso mais recentes do Ethereum", "nav-emerging-label": "Casos de uso emergentes", "nav-ethereum-org-description": "Este website é dedicado à comunidade: participe e contribua", + "nav-ethereum-networks": "Redes Ethereum", + "nav-ethereum-networks-description": "Transações mais rápidas e econômicas para Ethereum", "nav-ethereum-wallets-description": "Um app para interagir com sua conta Ethereum", "nav-events-description": "Descentralização e liberdade para participar", "nav-events-irl-description": "Há eventos importantes, presenciais e online, sobre o Ethereum todos os meses", @@ -275,16 +277,23 @@ "nav-guides-label": "Guias explicativos", "nav-history-description": "Uma linha do tempo de todos os forks e atualizações mais importantes", "nav-history-label": "História técnica do Ethereum", - "nav-layer-2-description": "Transações mais rápidas e econômicas para Ethereum", "nav-learn-by-coding-description": "Ferramentas que o ajudam a usar Ethereum", "nav-local-env-description": "Escolha e configure sua pilha de desenvolvimento Ethereum", "nav-mainnet-description": "É possível criar aplicações blockchain empresariais na rede principal pública do Ethereum", + "nav-networks-home-description": "Transações mais rápidas e econômicas para Ethereum", + "nav-networks-introduction-label": "Introdução", + "nav-networks-introduction-description": "O Ethereum se expandiu para uma rede de redes", + "nav-networks-explore-networks-label": "Explore redes", + "nav-networks-explore-networks-description": "Escolha qual rede usar", + "nav-networks-learn-label": "O que são redes de camada 2?", + "nav-networks-learn-description": "Entenda por que precisamos delas", "nav-nft-description": "Uma forma de representar qualquer coisa única como um ativo baseado no Ethereum", "nav-open-research-description": "Um dos pontos fortes do Ethereum é sua comunidade ativa de pesquisa", "nav-open-research-label": "Pesquisa aberta", "nav-overview-description": "Tudo sobre o Ethereum: informações", "nav-overview-label": "Visão geral", "nav-participate-overview-description": "Descrição geral de como participar", + "nav-payments-description": "Os pagamentos em Ethereum estão mudando a forma como enviamos e recebemos dinheiro", "nav-primary": "Principal", "nav-quizzes-description": "Comprove seus conhecimentos sobre Ethereum e criptomoedas", "nav-quizzes-label": "Teste seus conhecimentos", @@ -356,6 +365,7 @@ "page-last-updated": "Última atualização da página", "participate": "Participar", "participate-menu": "Menu Participe", + "payments-page": "Pagamentos", "pbs": "Separação de Proponente-Construtor", "pools": "Staking em pool (combinado)", "privacy-policy": "Política de privacidade", diff --git a/src/intl/pt-br/page-index.json b/src/intl/pt-br/page-index.json index 4416337aabe..290fdba1701 100644 --- a/src/intl/pt-br/page-index.json +++ b/src/intl/pt-br/page-index.json @@ -65,7 +65,7 @@ "page-index-learn-tag": "Aprenda", "page-index-learn-header": "Entenda Ethereum", "page-index-meta-description": "Ethereum é uma plataforma global e descentralizada para dinheiro e novos tipos de aplicativos. No Ethereum, você pode escrever um código para controlar dinheiro e criar aplicativos acessíveis de qualquer lugar do mundo.", - "page-index-meta-title": "Um guia completo sobre Ethereum", + "page-index-meta-title": "Ethereum.org: O guia completo sobre o Ethereum", "page-index-network-stats-total-eth-staked": "O valor que protege Ethereum", "page-index-network-stats-tx-cost-description": "Custo médio de transação", "page-index-network-stats-tx-day-description": "Transações nas últimas 24 horas", diff --git a/src/intl/pt-br/page-learn.json b/src/intl/pt-br/page-learn.json index 66a2ec7c7eb..2938babc6dc 100644 --- a/src/intl/pt-br/page-learn.json +++ b/src/intl/pt-br/page-learn.json @@ -10,6 +10,7 @@ "hero-header": "Saiba mais sobre o Ethereum", "hero-subtitle": "Seu guia educacional para o mundo do Ethereum. Aprenda como o Ethereum funciona e como se conectar a ele. Esta página inclui artigos, guias e recursos técnicos e não técnicos.", "hero-button-lets-get-started": "Vamos começar", + "page-learn-meta-title": "Ethereum: Um guia de aprendizado abrangente", "what-is-crypto-1": "Você já deve ter ouvido falar sobre criptomoedas, blockchains e Bitcoin. Os links abaixo ajudarão você a saber o que são e como se relacionam com o Ethereum.", "what-is-crypto-2": "As criptomoedas, como o bitcoin, permitem que qualquer pessoa transfira dinheiro globalmente. Além de fazer isso, o Ethereum pode executar códigos que permitem que as pessoas criem aplicativos e organizações. O sistema é resiliente e flexível: qualquer programa de computador pode ser executado no Ethereum. Saiba mais e descubra como começar:", "what-is-ethereum-card-title": "O que é o Ethereum?", @@ -33,9 +34,9 @@ "find-a-wallet-card-title": "Encontre uma carteira", "find-a-wallet-card-description": "Procure carteiras com base nos recursos que são importantes para você.", "find-a-wallet-button": "Lista de carteiras", - "crypto-security-basics-card-title": "Noções básicas de segurança", - "crypto-security-basics-card-description": "Aprenda a identificar golpes e como evitar os truques mais comuns.", - "crypto-security-basics-card-button": "Fique protegido", + "ethereum-networks-card-title": "Redes Ethereum", + "ethereum-networks-card-description": "Economize dinheiro usando extensões da Ethereum mais baratas e rápidas.", + "ethereum-networks-card-button": "Escolha uma rede", "things-to-consider-banner-title": "Coisas a considerar ao usar o Ethereum", "things-to-consider-banner-1": "Cada transação Ethereum requer uma taxa na forma de ETH, mesmo que você precise mover tokens diferentes construídos no Ethereum, como as stablecoins USDC ou DAI.", "things-to-consider-banner-2": "As taxas podem ser altas dependendo do número de pessoas que tentam usar o Ethereum, por isso recomendamos usar", diff --git a/src/intl/pt-br/page-what-is-ethereum.json b/src/intl/pt-br/page-what-is-ethereum.json index bfc9a7debea..0b7c67513a8 100644 --- a/src/intl/pt-br/page-what-is-ethereum.json +++ b/src/intl/pt-br/page-what-is-ethereum.json @@ -34,9 +34,12 @@ "page-what-is-ethereum-cryptocurrency-tab-content-2": "A razão pela qual ativos como bitcoin e ether são chamados de “criptomoedas” é que a segurança de seus dados e ativos é garantida pela criptografia, não por confiar em uma instituição ou corporação para agir honestamente.", "page-what-is-ethereum-cryptocurrency-tab-content-3": "O Ethereum tem sua própria criptomoeda nativa, o ether (ETH), que é usado para pagar por certas atividades na rede. Ele pode ser transferido para outros usuários ou trocado por outros tokens no Ethereum. O Ether é especial porque é usado para pagar a computação necessária para criar e executar aplicativos e organizações no Ethereum.", "page-what-is-ethereum-summary-title": "Resumo", - "page-what-is-ethereum-summary-desc-1": "Ethereum é uma rede de computadores em todo o mundo que segue um conjunto de regras chamado protocolo Ethereum. A rede Ethereum atua como base para comunidades, aplicativos, organizações e ativos digitais que qualquer pessoa pode construir e usar.", - "page-what-is-ethereum-summary-desc-2": "Você pode criar uma conta Ethereum de qualquer lugar, a qualquer momento, e explorar um mundo de aplicativos ou construir o seu próprio. A principal inovação é que você pode fazer tudo isso sem confiar em uma autoridade central que poderia alterar as regras ou restringir seu acesso.", - "page-what-is-ethereum-summary-desc-3": "Continue lendo para aprender mais…", + "page-what-is-ethereum-summary-desc-1": "Ethereum é a principal plataforma para milhares de aplicativos e blockchains, todos alimentados pelo protocolo Ethereum.", + "page-what-is-ethereum-summary-desc-2": "Esse ecossistema vibrante impulsiona a inovação e uma ampla gama de aplicativos e serviços descentralizados.", + "page-what-is-ethereum-summary-bullet-1": "Contas no Ethereum gratuitas e globais", + "page-what-is-ethereum-summary-bullet-2": "Pseudo-privadas, nenhuma informação pessoal necessária", + "page-what-is-ethereum-summary-bullet-3": "Sem restrições, qualquer pessoa pode participar", + "page-what-is-ethereum-summary-bullet-4": "Nenhuma empresa é dona do Ethereum ou decide seu futuro", "page-what-is-ethereum-btc-eth-diff-title": "Qual é a diferença entre Ethereum e Bitcoin?", "page-what-is-ethereum-btc-eth-diff-1": "Lançado em 2015, o Ethereum baseia-se na inovação do Bitcoin, com algumas grandes diferenças.", "page-what-is-ethereum-btc-eth-diff-2": "Ambos permitem que você use dinheiro digital sem provedores de pagamento ou bancos. Mas o Ethereum é programável, então você também pode construir e implantar aplicativos descentralizados em sua rede.",