Security News
NIST Misses 2024 Deadline to Clear NVD Backlog
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.
web3-eth-ens
Advanced tools
This package has ENS functions for interacting with Ethereum Name Service.
The web3-eth-ens package is a part of the Web3.js library that provides functionality for interacting with the Ethereum Name Service (ENS). ENS is a distributed, open, and extensible naming system based on the Ethereum blockchain. It allows users to resolve human-readable names like 'myname.eth' into machine-readable identifiers such as Ethereum addresses, content hashes, and metadata.
Resolving ENS Names to Ethereum Addresses
This feature allows you to resolve a human-readable ENS name to an Ethereum address. The code sample demonstrates how to use the web3-eth-ens package to resolve 'myname.eth' to its corresponding Ethereum address.
const Web3 = require('web3');
const ENS = require('web3-eth-ens');
const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID');
const ens = new ENS(web3);
async function resolveENSName(name) {
try {
const address = await ens.getAddress(name);
console.log(`Address for ${name}: ${address}`);
} catch (error) {
console.error(`Error resolving ENS name: ${error}`);
}
}
resolveENSName('myname.eth');
Reverse Resolution (Address to ENS Name)
This feature allows you to perform a reverse resolution, converting an Ethereum address back to its associated ENS name. The code sample demonstrates how to use the web3-eth-ens package to reverse resolve an Ethereum address to its ENS name.
const Web3 = require('web3');
const ENS = require('web3-eth-ens');
const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID');
const ens = new ENS(web3);
async function reverseResolveAddress(address) {
try {
const name = await ens.getName(address);
console.log(`ENS name for ${address}: ${name}`);
} catch (error) {
console.error(`Error reverse resolving address: ${error}`);
}
}
reverseResolveAddress('0x1234567890abcdef1234567890abcdef12345678');
Setting ENS Records
This feature allows you to set ENS records, such as associating an ENS name with an Ethereum address. The code sample demonstrates how to use the web3-eth-ens package to set the address for 'myname.eth' to a specified Ethereum address.
const Web3 = require('web3');
const ENS = require('web3-eth-ens');
const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID');
const ens = new ENS(web3);
async function setENSRecord(name, address) {
try {
const accounts = await web3.eth.getAccounts();
await ens.setAddress(name, address, { from: accounts[0] });
console.log(`Set address for ${name} to ${address}`);
} catch (error) {
console.error(`Error setting ENS record: ${error}`);
}
}
setENSRecord('myname.eth', '0x1234567890abcdef1234567890abcdef12345678');
The eth-ens-namehash package provides utilities for working with ENS names, including namehashing and normalization. It is more focused on the technical aspects of ENS name processing, whereas web3-eth-ens provides higher-level functionality for interacting with the ENS system.
The ethers package is a complete Ethereum library and includes support for ENS. It provides functionalities for resolving ENS names, reverse resolution, and interacting with ENS records. Compared to web3-eth-ens, ethers is a more comprehensive library that covers a broader range of Ethereum-related functionalities.
This is a sub-package of web3.js.
web3-eth-ens
This package has ENS functions for interacting with Ethereum Name Service.
You can install the package either using NPM or using Yarn
npm install web3-eth-ens
yarn add web3-eth-ens
Script | Description |
---|---|
clean | Uses rimraf to remove dist/ |
build | Uses tsc to build package and dependent packages |
lint | Uses eslint to lint package |
lint:fix | Uses eslint to check and fix any warnings |
format | Uses prettier to format the code |
test | Uses jest to run unit tests |
test:integration | Uses jest to run tests under /test/integration |
test:unit | Uses jest to run tests under /test/unit |
[4.0.1-rc.0]
registeredSubscriptions
was added by default in web3 constructor (#5792)web3-types
, web3-errors
and web3
. (#5771)new Web3().eth.contract
(#5824)useRpcCallSpecification
at enableExperimentalFeatures
is true
) (#5525)safe
and finalized
block tags (#5823)InvalidMethodParamsError
and error code ERR_INVALID_METHOD_PARAMS = 207
(#5824)request
property to ResponseError
(#5854)data
property to TransactionRevertInstructionError
(#5854)TransactionRevertWithCustomError
was added to handle custom solidity errors (#5854)createAccessList
functionality ( #5780 )safe
and finalized
block tags (#5823)contractAbi
option to SendTransactionOptions
and SendSignedTransactionOptions
to added the ability to parse custom solidity errors (#5854)decodeErrorData
from web3-eth-contract
is now exported from this package and was renamed to decodeContractErrorData
(#5844)createAccessList
for contracts ( #5780 )Contract
will subscribeToContextEvents
upon instantiation if syncWithContext
is set to true
and the constructor is passed an instance of Web3Context
(#5833)safe
and finalized
block tags (#5823)HttpProvider
(#5771)IpcProvider
(#5771)_socketOptions
from IpcProvider
constructor to the underlying Socket
(#5891)SocketConnection
in IpcProvider
(inherited from SocketProvider
) returns net.Socket
(#5891)WebSocketProvider
(#5771)SocketConnection
in WebSocketProvider
(inherited from SocketProvider
) returns isomorphic WebSocket
(#5891)createAccessList
functionality ( #5780 )safe
and finalized
block tags (#5823)web3-eth-abi
and TypedArray
from (#5771)TypedArray
from web3-utils
and web3-validator
(it was defined twice) (#5771)safe
and finalized
block tags in BlockTags
and BlockTag
types (#5823)safe
and finalized
block tags (#5823)safe
and finalized
block tags in isBlockTag
method (#5823)require('web3')
will now return all web3 exported-objects organized in namespaces . (#5771)Web3Error
is renamed to BaseWeb3Error
(#5771)MaxAttemptsReachedOnReconnectingError
with the same message for 1.x but also adding the maxAttempts
(#5894)sendTransaction
and sendSignedTransaction
now errors with (and error
event emits) the following possible errors: TransactionRevertedWithoutReasonError
, TransactionRevertInstructionError
, TransactionRevertWithCustomError
, InvalidResponseError
, or ContractExecutionError
(#5854)compareBlockNumbers
function now only supports comparison of both blocktags params ( except earliest
vs number) or both block number params (#5842)SocketProvider
abstract class now resolves JSON RPC response errors instead of rejecting them (#5844)SocketConnection
in SocketProvider
(#5891)_contracts:Contract[]
and static setProvider
function was removed (#5792)getRevertReason
is no longer exported (#5844)web3-types
(#5771)decodeErrorData
is no longer exported (method was moved to web3-eth-abi
and renamed decodeContractErrorData
) (#5844)TypedArray
to web3-types
(was also duplicated at web3-validator
) (#5771)genesis
tag in compareBlockNumbers
function (#5823)TypedArray
to web3-types
(was also duplicated at web3-utils
) (#5771)FAQs
This package has ENS functions for interacting with Ethereum Name Service.
The npm package web3-eth-ens receives a total of 361,899 weekly downloads. As such, web3-eth-ens popularity was classified as popular.
We found that web3-eth-ens demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.
Security News
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
Security News
The Socket Research team breaks down a malicious npm package targeting the legitimate DOMPurify library. It uses obfuscated code to hide that it is exfiltrating browser and crypto wallet data.