Etherscan is a really useful website but fairly recently I discovered they also have a pretty handy Developer API. I used it to analyse gas a contract was using over a period of time and thought it might be useful to record how I did it.
First of all an API key is required and this can be created for free by logging in and going to: https://etherscan.io/myapikey.
I’m going to paste my code with comments which should be easy enough to follow. The API covers a whole lot of other end point such as Logs, Tokens, etc that I didn’t use but the docs are good and worth a scan.
Lately at Balancer we’ve moved from the Truffle development environment to using Buidler, Waffle and Ethers. The main benefit is being able to use console.log in Solidity during debugging — it’s amazing how much of a difference this makes and for this alone the change over is worth it. Here’s some notes I made during the switch over.
The ethers.js library aims to be a complete and compact library for interacting with the Ethereum Blockchain and its ecosystem.
The following gist demonstrates some basic usage of Ethers that…
Erasure is a decentralized data marketplace that allows users to post and sell their data.
The protocol relies on Ethereum timestamps and data hashing to prove with certainty that the specific data was owned by the poster at that specific time. The Erasure intro post has a nice example of how this could be used:
If you submitted two years of daily Google stock price predictions to Erasure and you were 70% accurate, the whole world would be able to see that and check it for themselves (say against Yahoo! Finance data). Everyone would agree that your historical predictions occurred…
This is quite random but I had to learn a few things so worth taking note.
I was recently working on a Truffle Dapp. I had to deploy one of my contracts in a roundabout way — basically one account signing it but another paying the gas (Metatransactions are basically the same). I’d never done this before. After that I still wanted my Truffle Dapp to be able to access the deployed contract but this required a bit of a tweak. So here’s how I did it.
This was done using a simple node script and the process looks like…
3Box is a secure and decentralized user data storage system. Simple APIs allow developers to easily use 3Box for identity, auth, profiles, storage, and messaging. As well as allowing for fast development 3Box offers other benefits:
In April I entered (and won!) the NuCypher+CoinList hackathon. I didn’t actually know much about the NuCypher tech before I got started but once I had built my DApp it was clear this is really interesting stuff and it’s stuck with me ever since as something interesting to build on.
The NuCypher solution will eventually provide a decentralised privacy infrastructure but during the hackathon I was mainly making use of a subset of the tech, Proxy Re-encryption.
Lately I’ve been helping out on the open source burner-wallet app created by Austin Thomas Griffith. The idea behind it was to try and create an app that could exchange value using a mobile web browser. It trades off the complexity and best practices of storing private keys, downloading apps, etc to just make something that should be easy to get started with and easy to use.
The reality is that State Channels are here now, and work great, today. We can ship commercial quality dapps that use them NOW — JezSan FunFair
The quote above was from a Reddit post highlighted in the November issue of Week In Ethereum. It confirmed something that I didn’t really appreciate until I went to Devcon IV — scaling isn’t the issue that is preventing main stream adoption of Ethereum. It’s the fact that the dApps out there don’t really offer any real improvement over the existing solutions for the main stream user.
As Jez says further down the post…
It’s going to happen. Ethereum is going to scale, PoS is going to come, UI/UX is going to improve and more people will use DApps. Amazing minds are working on all these things. The researchers are super inspiring. The community is strong, dedicated and buidling away. The ship is being steered in the right direction. The combination of all these things feels a bit special and it might just be the start of a new future.
I need to contribute.
These kind of things are really going to drive adoption. …
Vyper is a contract-oriented, pythonic programming language that targets the Ethereum Virtual Machine (EVM)
Vyper is a relatively new language that has been written with a focus on security, simplicity and audibility. It’s written in a Pythonic way which appeals to me and as a more secure alternative to Solidity I think it has a lot of potential. I plan on writing more about working with Vyper in the future.