7 ms·
SQL on Ethereum Blockchain with Presto
- AlwaysBCoding 9y agoBusiness model for you: Host a node yourself, and charge a micropayment in ETH to make SQL queries against the DB.
- granda 9y agoHow do you account for the cost of the transaction itself? Those aren't cheap.
- meesterdude 9y agoQuerying the blockchain does not cost anything, just making changes to it. Otherwise, verifying transactions would be a recursive cost. I could be wrong though, but pretty sure since it's distributed reads are free, writes are where it costs.
- tylersmith 9y agoI think he means for the micropayment. For that system to be viable it would need Raiden or some other payment channel system.
- tylersmith 9y agoThe tech isn't quite here yet but payment channels would be a good solution.
- xiaoyao 9y ago+1, I have another project on payment channels, coming soon
- runeks 9y agoPayment channels alone are only a good solution if you consider it acceptable to establish a payment channel with everyone you want to pay. So, in other words, it only makes sense for recurring payments to the same merchant, and you pay the blockchain fee once for each merchant you want to pay. Consequently, if you only pay once you pay the same fee as an on-chain transaction, and if you pay 1000 times you pay, in average, 1000th the blockchain fee per payment.
- WaxProlix 9y agoInteresting - Presto-As-A-Service is hard to do because of the way it handles permissions / auth. With an inherently shared resource like a blockchain it becomes a lot more feasible.
- pweissbrod 9y agoIf im not mistaken presto-as-a-service is the power behind aws athena. They charge by the bytes scanned.
- WaxProlix 9y agoI'm not interested in the charging so much as how they handle privacy and security for multiple users/accounts in (supposedly) a single Presto cluster.
- brepl 9y agoIs this a JDBC connector for Ethereum? If so, that's neat. Ethereum APIs are generally awful, so a known, sane language for interacting with the blockchain has to be welcome.
- herval 9y agoIt’s a Presto (prestodb.io) plugin - presto is a tool to do SQL queries over data sources (hadoop, nosql dbs, sql dbs, etc), including joining over them Presto itself has a JDBC driver, so you could run it + this plugin in a Java app/codebase
- throwawayxyz709 9y agoJesus Christ, just use Postgres..
- ivanbakel 9y agoYou want to write SQL-like queries for the ETH blockchain using Postgres? How exactly do you intend to do that?
- TkTech 9y agoIgnoring the stupidity of that guys "just use postgres" comment, it is actually possible to do this by writing a foreign data wrapper[1]. [1]: https://www.postgresql.org/docs/10/static/fdwhandler.html https://www.postgresql.org/docs/10/static/fdwhandler.html
- Kiro 9y agoDid you even click the link? Your comment makes no sense.
- sctb 9y agoPlease stop posting unsubstantively like this. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- leddt 9y agoThose gif are quite annoying to read and don't add anything of value. Static images, or even plain text, would be a lot better. Edit: Sorry for the negativity. I created a PR for it. https://github.com/xiaoyao1991/presto-ethereum/pull/8 https://github.com/xiaoyao1991/presto-ethereum/pull/8
- megalodon 9y agoI agree and your comment didn't come off as negative to me.
- detaro 9y agoAgreed. Since they only show single commands and no animation etc, plain text would be better.
- xiaoyao 9y agoThanks for the PR, and it's merged, but the gif is still animated though. I'll update with still images later in the day.
- leddt 9y agoI think that's a caching issue
- Phlow 9y agoOh look, another Ethereum post. Nope, still not putting money/time here, sorry.
- ahallock 9y agoPlease enlighten us why.
- throwawayahdu 9y agoBecause it's fucking stupid? Like you?
- jameskegel 9y agoFor myself, it's a matter of integrity. As an early holder, I was enamored with the idea, and took "Code is law" at face value. The response to the DAO incident alienated me. I don't have any ill will, and I'm not saying it's a scam or that you shouldn't get any, I'm just saying it is not for me.
- tsukaisute 9y agoThere seems to be a lot of confusion in the other posts as to what this is. Simply, it is an adapter that lets you use SQL syntax to introspect Ethereum blockchain data (blocks, and transactions.) Typically people do this using a JS API built into the node software [1], and it may/may not be ones' cup of tea. [1] https://github.com/ethereum/wiki/wiki/JavaScript-API https://github.com/ethereum/wiki/wiki/JavaScript-API
- xiaoyao 9y agoYes, and with presto you can join tables from different sources. So you can join ethereum data with whatever you want, be it a mysql table of accounts in observations, etc.
- Animats 9y agoOh, they loaded the Etherium blockchain into an SQL database. Easy. From the title, it appeared that someone had figured out how to represent an SQL database in the blockchain using the virtual machine for contracts. That would be hard. As I've pointed out before, smart contracts need atomic transactions. Either everything commits, or nothing commits. This is a basic property needed for accounting systems.
- xiaoyao 9y agoIt's not loaded into a SQL database. You can think of Presto as simply as a SQL query engine. It sources data from Ethereum and run queries on it.
- DennisP 9y agoTransactions on Ethereum are atomic. If something throws, everything rolls back. There's one well-known exception, which is that if your contract sends ETH to another contract, invoking its fallback function, then a throw in the callee just means the call returns false. So in that particular case you have to check the return value and rethrow to make it atomic; this sounds crazy but in some circumstances you don't actually want to throw. The compiler gives you a warning if you don't check.
- Animats 9y agoDidn't the DAO hack happen because someone found a way to make an "atomic" transaction fail without full rollback?
- DennisP 9y agoNo, it was a reentrant attack. The contract was doing a state change after sending ETH, and since the recipient called back, it was able to get repeated ETH sends before the state updated.
- Animats 9y agoThat's an atomicity failure. That class of bug, incidentally, is a classic source of trouble in window/widget GUI systems.
- foota 9y agoI've been thinking about building API's for interaction with the off chain world, it seems like this is something with interest?
- buremba 9y agoThe compute abstraction of Presto query engine is great, we have been working on a similar project based on Presto: https://enginesql.com/ https://enginesql.com/ (Shameless plug)
- thedaemon 9y agoPresto is the in house 3d software used by Pixar. I came here and was very confused. Do we not Google search our software's name before assigning it?