I have created 3 nodes using Clique Proof of Authority (2 sealers). I know i can allocate ether in the genesis.json file while initializing it.
Question : Can the 3 nodes mine an ether or just the sealers?
Only sealer can mine/seal the block. Third node will only sync with the network.
Related
Can I actually process some operations in Polygon via contract deployed on Ethereum network?
I tried to use plasma bridge and pos bridge but they are acting like normal bridges just for token transfering.
Can i actually process some operations in polygon via contract deployed on etherium network?
You cannot, or it would be very complicated.
Any bridging costs would likely be much higher than processing the data in Ethereum itself.
I am really confused for now. I am working on Solidity DEV, but today, I try to think of one question, how many EVM is in the Ethereum chain?
I am not joking. I really want to know, when to create the EVM. I have read the doc https://ethereum.org/en/developers/docs/evm/. But still not clear about that question. So, I mean, whether we only have one EVM in the chain or each validation node(RPC node) has one EVM or when the metamask tries to make a transaction with the RPC node, the RPC node creates an EVM and loads the target smart contract or each metamask is an EVM. I am really confused now. Please help me, if you know the sure answer. Really really thanks.
EVM is smart contract runtime. Each ethereum node has Ethereum software and inside the software, it is running a virtual computer. EVM is a Turing-complete machine and since it runs on different nodes and you have no access to it, it is called a "virtual machine". It is a kinda cloud computing machine. the only thing this machine can do is execute smart contracts.
Metamask is just a wallet, a middleman. It passes your requests to Ethereum blockchain.
Is it possible and or advisable to, in one step, deploy a smart contract, have it mint 50 nfts and send those 50 nfts to 50 different addresses all in one transaction?
Or would it be better practice to split these 3 different actions into two different transactions?
Would love any references to existing smart contracts that do anything similar!
Thank you!
It is not advisable to run Solidity functions with long running for loops that may exhaust the available gas. Because you are minting 50 NFTs it is likely you cannot fit all the execution function to a single Ethereum transaction and you need to do minting in smaller batches.
I'm trying to deploy my smart contract to the Ethereum Mainnet using truffle.js. When migrating with a low gas price, the transaction for deploying the contract sometimes takes longer than 750 seconds and causes truffle to timeout.
Is there some way to disable the 750 second timeout when deploying smart contracts (migrating) to the mainnet? I would like to deploy my contract with a low gas price to reduce the cost, and am ok with waiting a long time for the TX to be mined.
Also, if the timeout IS hit and the TX gets mined later, can I still generate the same exact artifact files for the TX? Thanks.
Is there some way to disable the 750 second timeout when deploying smart contracts (migrating) to the mainnet? I would like to deploy my contract with a low gas price to reduce the cost, and am ok with waiting a long time for the TX to be mined.
No. Truffle uses web3 lib with default wait set to 50 blocks. (So it will wait 50 blocks for the tx to be mined before timing out). You can likely get away with increasing this a lot to acheieve what you want--see: https://www.trufflesuite.com/docs/truffle/reference/configuration
However, when the gas price is set very low there is a possibility that it never gets picked up by miners on the network. So without a timeout the process could hang forever.
Also, if the timeout IS hit and the TX gets mined later, can I still generate the same exact artifact files for the TX? Thanks.
I'm not sure what you mean here. The artifact files are generated after a contract is compiled. Maybe you are referring to getting the transaction hash? It is always best to check a service like etherscan or trueblocks for the state of your transaction.
I followed Quorum's docs and have created a 2 node network using the raft-consensus. In the genesis block i had pre-allocated funds to one of the accounts. Now I am trying to do a public transaction of some ethers to the other node.
However the transaction is getting stuck in the transaction pool and the balances of both nodes remain unchanged.
I have used the same genesis.json file that was provided in the documentation. Is there something I am missing?
Once the two nodes were brought up, I tried running -
eth.sendTransaction({from:current-node-address, to: second-node's-address, value:0x200,gas:21000})
On checking the transactionReceipt with the transaction hash that was generated, it displays null.
It sounds like your network is not minting blocks, so you may have some Raft misconfiguration.
Check the log files for any error messages.
You can also check that both nodes are in the network and that one of them is minting (is the leader) by using the command raft in the geth console.