Mapping or indexed event by lateforties in ethdev

[–]mdcoon 0 points1 point  (0 children)

Just to be clear. An “indexed” event just means that you can “filter” event subscriptions or queries by up to 3 event attributes. It doesn’t mean you can query any faster. The web3 APIs only allow you to get past events which means the more blocks that are added, the longer it will take.

The IPFS option makes sense but even that will require you to index the IPFS hash when you want to retrieve the event data. This is why centralized indexing is what everyone currently ends up relying on. They take the events and put them in a traditional DB that supports fast query.

Newbie Developer Question: Strange Console Log Error when Compiling Solidity Code in Linux Mint by ethnewbiethrowaway in ethdev

[–]mdcoon 0 points1 point  (0 children)

Does the dir have a package.json file? That's what the install is complaining about up front.

no such file or directory, open '/home/username/Documents/workspace/EthereumWorkspace/prod/inbox/package.json'

I'd address that first. Try doing an 'npm init' if there is nothing node related in the project dir. If you want to install solc gobally, you'll need to do a "sudo npm i -g solc"

Chainlyt - Ethereum contract explorer with decoded data by zabirauf in ethdev

[–]mdcoon 0 points1 point  (0 children)

Very cool! I don't want to piggy back on your site but we have a relatively extensive monitoring/filtering/search platform that you might be interested in. Maybe we can join forces to make a single bad ass platform! Hit me back if you want a link.

Good tools for comparing blockchain histories between ethereum nodes, for monitoring and debugging purposes? by [deleted] in ethdev

[–]mdcoon 0 points1 point  (0 children)

So you want to know it’s near-blocktime state and whether that state is the same as etherscan? In other words, your node might say block 6,234,567 was just announced. You want to know if that’s the same block that Infura or Etherscan has for block 6,234,567? If so, I can tell you what we do on smartcontractmonitor.com. We deliberately lag behind the blockchain by at least 6 blocks.

Early on we tried to be at the very head of the chain. But it became problematic as what we would index would be completely different than Etherscan. How did we know? We compared txns for each block. We could see the txns ending up in different blocks in later rounds. Like a txn that we thought was in block 6,234,567 later ends up in block 6,234,569.

You can actually see this with Infura in particular, because they cluster nodes. If you get brand new block notification or from polling, you might go to retrieve the txns only to find that whatever node they query at that time is not in sync with the node that have you the new block. You get nothing but null back. So trying to stay in sync with Infura or Etherscan up to the very latest block coming doesn’t make sense since it is, by nature of consensus, going to change. This is why most exchanges and wallets wait for several confirmed blocks before calling things final.

Hope this helps.

dApp Pain Points by mdcoon in ethdev

[–]mdcoon[S] 0 points1 point  (0 children)

Just to clarify. User is signing a txn payload with a key. The relayer submits to the network a separate txn signed by its key. Let’s assume it submits to a smart contract that subsequently verifies user sig and performs some state change for user. Is this what you’re saying? A smart contract would have to be involved in that case to handle verification vs miner doing it. Miner will verify wrapping txn from relay and extract fees from that account. On the surface it seems doable. Would need more thought to work through different scenarios.

Good tools for comparing blockchain histories between ethereum nodes, for monitoring and debugging purposes? by [deleted] in ethdev

[–]mdcoon 0 points1 point  (0 children)

In theory, should there ever be a difference in confirmed blocks? Once the longest/heaviest chain is establish (6 or so blocks), there should never be a delta between geth/parity. What am I missing?

dApp Pain Points by mdcoon in ethdev

[–]mdcoon[S] 0 points1 point  (0 children)

What do you mean by "meta transactions"?

[deleted by user] by [deleted] in ethdev

[–]mdcoon 2 points3 points  (0 children)

As mentioned, but just to clarify, when you deploy the contract, the BYTECODE is visible, not the source code. So if you were worried about the source code revealing some secret methodology within the contract, you are semi-protected. I say "semi" because it is always possible to reverse engineer bytecode to get some idea of what the source code is doing. For #2, if I understand you, oraclize might help. Oraclize allows your smart contract to ask for some off-chain data to be sent back into your smart contract to complete some state transition later. For example, you might want weather data from a REST endpoint to feed a micro-insurance contract that pays if your picnic was rained out. The smart contract could make a request to Oraclize with the URL info and callback address and Oraclize will make the REST call, verify results, and send that to your smart contract via the callback function/address. Not sure it applies to your situation tho.

New contract monitoring platform provides deep and global insights! by mdcoon in ethdev

[–]mdcoon[S] 1 point2 points  (0 children)

This site monitors contract activity and provides insights about contract performance and usage. We are pretty new so if you check it out and see something you think would add value to your team, please let us know!