ethereum slides

ENS is the Ethereum Name Service, a distributed, open, and extensible naming system based on the Ethereum blockchain.ENS can be used to resolve a wide variety of resources.The initial standard for ENS defines resolution for Ethereum addresses, but the system is extensible by design, allowing more resource types to be resolved in future without the core components of ENS requiring upgrades.Overview The primary goal of ENS is to resolve human-readable names, like ‘myname.eth’, into machine-readable identifiers, including Ethereum addresses, Swarm and IPFS content hashes, and other identifiers.A secondary purpose is to provide metadata about names, such as ABIs for contracts, and whois information for users.ENS has similar goals to DNS, the Internet’s Domain Name Service, but has significantly different architecture, due to the capabilities and constraints provided by the Ethereum blockchain.Like DNS, ENS operates on a system of dot-separated hierarchial names called domains, with the owner of a domain having full control over the distribution of subdomains.
Top-level domains, like ‘.eth’ and ‘.test’ are owned by smart contracts called registrars, which specify rules governing the allocation of their subdomains.Anyone may, by following the rules imposed by these registrar contracts, obtain ownership of a second-level domain for their own use.Architecture ENS has two principal components: the registry, and resolvers.bitcoin atm in israelThe ENS registry consists of a single central contract that maintains a list of all domains and subdomains, and stores three critical pieces of information about each: The owner of the domain The resolver for the domain The time-to-live for all records under the domain The owner of a domain may be either an external account (a user) or a smart contract.ethereum network difficultyA registrar is simply a smart contract that owns a domain, and issues subdomains of that domain to users that follow some set of rules defined in the contract.bitcoin fisco
Owners of domains in the ENS registry may: Set the resolver and TTL for the domain Transfer ownership of the domain to another address Change the ownership of subdomains The ENS registry is deliberately straightforward, and exists only to map from a name to the resolver responsible for it.Resolvers are responsible for the actual process of translating names into addresses.bitcoin dove si usaAny contract that implements the relevant standards may act as a resolver in ENS.bitcoin etf tickerGeneral-purpose resolver implementations are offered for users whose requirements are straightforward, such as serving an infrequently changed address for a name.bitcoin hourly chartEach record type - Ethereum address, Swarm content hash, and so forth - defines a method or methods that a resolver must implement in order to provide records of that kind.
New record types may be defined at any time via the EIP standardisation process, with no need to make changes to the ENS registry or to existing resolvers in order to support them.Namehash Names in ENS are represented as 32 byte hashes, rather than as plain text.This simplifies processing and storage, while permitting arbitrary length domain names, and preserves the privacy of names onchain.The algorithm used to translate domain names into hashes is called namehash.Namehash is defined in EIP137.In order to preserve the hierarchal nature of names, namehash is defined recursively, making it possible to derive the hash of a subdomain from the hash of the parent domain and the name or hash of the subdomain.Terminology domain - the complete, human-readable form of a name; eg, .label - a single component of a domain; eg, , , or .A label may not contain a period (‘.’).label hash - the output of the keccak-256 function applied to a label; eg, .node - the output of the namehash function, used to uniquely identify a name in ENS.
Algorithm First, a domain is divided into labels by splitting on periods (‘.’).So, ‘vitalik.wallet.eth’ becomes the list [‘vitalik’, ‘wallet’, ‘eth’].The namehash function is then defined recursively as follows: A sample implementation in Python is provided below.( : '' * :, _, = .()(() + ( ENS on Ethereum ENS is deployed on mainnet at 0x314159265dd8dbb310642f98f50c066173c1259b, where users may register names under the eth TLD, which uses an auction based registrar.ENS is also deployed on the Ropsten testnet at 0x112234455c3a32fd11230c42e7bccd4a84e02010.Users may register names under two top level domains: .eth, which uses an auction based registrar with the same functionality as the main network, and allows users to keep names indefinitely; see ..test, which allows anyone to claim an unused name for test purposes, which expires after 28 days; see .ENS is also deployed on the Rinkeby testnet at 0xe7410170f87102df0055eb195163a03b7f2bff4a, where only the .test top level domain is supported.
Querying the blockchain with web3j and other updates The 2.2 release of web3j has just gone out, which contains some great enhancements.Querying the blockchain web3j now makes it really simple to query historical data from the Ethereum blockchain (and of course Quorum).Its API has been enhanced allowing you to provide a range of blocks to replay, […] Share this: Estimated reading time: 3 minutes Building Java and Android apps on the blockchain I gave a tech talk at Pivotal Labs today on developing Java applications on the Ethereum blockchain.The slides are available below.Thanks to Lawrence and Nicola at Pivotal for putting on a great event.Share this: Estimated reading time: 20 seconds Reactive-Functional Fun on the Blockchain with web3j This article was originally published on the Oracle Technology Network.In a recent issue of Java Magazine, I provide a primer on working with the blockchain technology Ethereum using web3j to build Java applications on it.
In this article, we’re going to use web3j’s reactive-functional API to shed some light on […] Share this: Estimated reading time: 14 minutes web3j 2.0 slides Last night I gave a brief web3j 2.0 update at the Sydney Ethereum Meetup.The slides accompanying the talk are available below.Thanks to Nathan and Nick for organising a great event as always.Share this: Estimated reading time: 20 seconds Spring Boot and web3j - easy microservices for the Ethereum blockchain web3j now seamlessly integrates with the Spring Framework, thanks to the web3j Spring Boot Starter.Using Spring Boot, it's trivial to create production-ready services using web3j to work with the Ethereum blockchain.Start by creating a new Spring Boot application.Then add the web3j-spring-boot-starter to your Gradle or Maven configuration: […] Share this: Estimated reading time: 1 minute web3j 2.0 milestone release I'm happy to announce the 2.0 web3j release.This builds on the reactive-functional API added in v1.1.0 and provides a number of further enhancements, including: Transaction managers Transaction managers allow you to choose how you transact with Ethereum clients via web3j's smart contract wrappers.
For instance, you can now choose […] Share this: Estimated reading time: 3 minutes web3j website is live Head over to web3j.io to check it out.Thanks to Start Bootstrap for the awesome Creative theme.Share this: Estimated reading time: 9 seconds Blockchain CTO Summit talk I spoke last week at the YOW!CTO Summit on blockchain technology and the state of the eco-system.The slides from the talk are available below.Share this: Estimated reading time: 15 seconds Manage ether hardware wallets from the command line with web3j + Infura I recently purchased a Ledger Nano S which is a great little hardware wallet that caters for both Bitcoin and Ether.Prior to purchasing my hardware wallet I had a lot of Ether in Ethereum wallet files on disk, which isn't a sustainable strategy for storing any cryptocurrency.Using the […] Share this: Estimated reading time: 2 minutes Java & the blockchain talk I spoke this evening at the Sydney JVM Meetup about Ethereum and web3j.