Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
web3-providers-http
Advanced tools
The web3-providers-http package is a part of the Web3.js library that allows you to interact with Ethereum nodes using HTTP. It provides a way to send JSON-RPC requests to an Ethereum node over HTTP, making it possible to perform various blockchain-related operations such as querying blockchain data, sending transactions, and more.
Connecting to an Ethereum Node
This feature allows you to connect to an Ethereum node using an HTTP provider. The code sample demonstrates how to create a new Web3 instance and connect it to a local Ethereum node running on port 8545.
const Web3 = require('web3');
const web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));
console.log('Connected to Ethereum node:', web3.currentProvider.host);
Sending JSON-RPC Requests
This feature allows you to send JSON-RPC requests to the Ethereum node. The code sample demonstrates how to get the latest block number from the connected Ethereum node.
const Web3 = require('web3');
const web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));
web3.eth.getBlockNumber().then(console.log);
Handling Errors
This feature allows you to handle errors that may occur when sending JSON-RPC requests. The code sample demonstrates how to catch and log errors when trying to get the latest block number.
const Web3 = require('web3');
const web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));
web3.eth.getBlockNumber().then(console.log).catch(console.error);
The ethers.js library is a complete and compact library for interacting with the Ethereum blockchain and its ecosystem. It provides similar functionalities to web3-providers-http, such as connecting to Ethereum nodes, sending transactions, and querying blockchain data. Ethers.js is known for its simplicity and ease of use compared to Web3.js.
The web3 package is the main library of which web3-providers-http is a part. It provides a comprehensive set of tools for interacting with the Ethereum blockchain, including various providers (HTTP, WebSocket, etc.), utilities for handling accounts, contracts, and more. It is more feature-rich compared to web3-providers-http alone.
Ethjs is a lightweight and modular library for interacting with the Ethereum blockchain. It provides similar functionalities to web3-providers-http, such as sending JSON-RPC requests and handling blockchain data. Ethjs is designed to be minimalistic and modular, making it a good choice for projects that require a smaller footprint.
yarn add web3-providers-http
build
: Runs yarn clean
and yarn compile
clean
: Uses rimraf
to remove lib/
and buildcache/
compile
: Uses tsc
to build package and depedenent packageslint
: Uses prettier
and eslint
to lint packagelint:check
: Uses prettier and eslint
to check if package has been lintedtest
: Uses jest
to run all teststest:integration
: Uses jest
to run tests under /test/integration
test:unit
: Uses jest
to run tests under /test/unit
[4.0.0-alpha.0]
Note: Yarn is resolving to some old deprecated package versions for 4.0.0-alpha.0 instead of latest alpha versions. A patch bump is posted so yarn users should use 4.0.1-alpha.0 for testing.
web3-errors
new package is created, it has Web3 Error codes and classesweb3-types
new package is created, it provides the common data structures and interfaces for web3 modulesweb3-validator
new package is created, it has JSON-Schema compatible validator functionality for Web3errors
are moved to web3-errors
package and formatters are moved in web3-core
packageweb3-core-method
functionality is moved to web3-eth
packageweb3-core
packageweb3-core
packageweb3-core
packageextend
is deprecatedoutputBigNumberFormatter
in web3-core-helper
renamed to outputBigIntFormatter
under web3-core
this.defaultBlock
context from inputDefaultBlockNumberFormatter
in web3-core-helper
and converted to additional parameterthis.defaultBlock
context from inputTransactionFormatter
in web3-core-helper
and converted to additional parametersoliditySha3
soliditySha3Raw
encodePacked
now includes type validation and requires type specification, instead of guessing the value typesoliditySha3
, soliditySha3Raw
and encodePacked
did not support BN; But, now supports BigInt
flattenTypes
and jsonInterfaceMethodToString
moved to the web3-eth-abi
packageisAddress
now includes an optional parameter checkChecksum
type booleanisBoolean
now accept 1
, and 0
as valid values to test. Ref: web3-validator
create
function does not take in the optional parameter entropy
Wallet.create
function doesn't accept entropy
paramisBoolean
now accept 1
, and 0
as valid values to test.signTransaction
will not fill any default values, and it will only sign and return result. For filling default values, use web3-eth
packagerecover
function's last param is boolean hashed
, it is used to indicate if data provided is already hashed or not. By default, this function will assume data is not hashed.Wallet
no longer supports address/number indexing. Have to use wallet.get
instead.Wallet.create
function doesn't accept entropy
paramcontract.method.send()
will resolve to transaction receipt instead of transactionHash
. User can use receipt.transactionHash
instead.isDirect
, isValid
, isIndirect
are now also included as static methods.setMultihash
is not supported in web3-eth-ens 4.x as it's deprecated in ENS public resolver (https://github.com/ensdomains/resolvers/blob/master/contracts/PublicResolver.sol)setContent
is not supported in web3-eth-ens 4.x as it's deprecated in ENS public resolver (https://github.com/ensdomains/resolvers/blob/master/contracts/PublicResolver.sol)getContent
is not supported in web3-eth-ens 4.x as it's deprecated in ENS public resolver.getMultihash
is not supported in web3-eth-ens 4.x as it's deprecated in ENS public resolver.internalType
was renamed to baseType
in all abi typesgivenProvider
default value is undefineddefaultHardfork
default value is 'london'defaultAccount
default value is undefineddefaultNetworkId
default value is undefinedtransactionSendTimeout
, throw an Error.clearSubscriptions
Instead of returning true
, clearSubscriptions
now returns array of subscription's idsgivenProvider
default value is undefinedcurrentProvider
default value is undefinedFAQs
HTTP provider for Web3 4.x.x
The npm package web3-providers-http receives a total of 227,281 weekly downloads. As such, web3-providers-http popularity was classified as popular.
We found that web3-providers-http 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
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.