Filecoin
MetaMask
You can set your MetaMask to interact through your Filecoin nodes deployed with Chainstack.
-
Open your MetaMask and click the network selector.
-
In the network selector, click Custom RPC.
-
In the New RPC URL field, enter the endpoint. See also node access details.
Example:
https://nd-123-456-789.p2pify.com/3c6e0b8a9c15224a8228b9a98ca1531d
https://user-name:[email protected]
-
In the Chain ID field, enter the ID of the network:
- Calibration Testnet:
314159
- Calibration Testnet:
-
Click Save.
Truffle
Configure Truffle Suite to deploy contracts to your Filecoin nodes.
-
Install Truffle Suite, HD Wallet-enabled Web3 provider, and create a project.
-
Create a new environment in
truffle-config.js
, add your mnemonic phrase generated by a wallet and the Filecoin endpoint instead of YOUR_CHAINSTACK_ENDPOINT:const HDWalletProvider = require("@truffle/hdwallet-provider"); const mnemonic = 'pattern enroll upgrade ...'; ... module.exports = { networks: { chainstack: { provider: () => new HDWalletProvider(mnemonic, "YOUR_CHAINSTACK_ENDPOINT"), network_id: "*" }, } } };
Remix IDE
To make Remix IDE interact with the network through a Chainstack node:
- Get MetaMask and set it to interact through a Chainstack node. See Interacting through MetaMask.
- In Remix IDE, navigate to the Deploy tab. Select Injected Provider - MetaMask in Deploy & run transactions.
This will engage MetaMask and make Remix IDE interact with the network through a Chainstack node.
web3.js
Build DApps using web3.js and Filecoin nodes deployed with Chainstack.
- Install web3.js.
- Connect over HTTP or WebSocket.
HTTP
Use the HttpProvider
object to connect to your node HTTPS endpoint and get the latest block number:
const Web3 = require('web3');
const web3 = new Web3(new Web3.providers.HttpProvider('YOUR_CHAINSTACK_ENDPOINT'));
web3.eth.getBlockNumber().then(console.log);
where YOUR_CHAINSTACK_ENDPOINT is your node HTTPS endpoint protected either with the key or password.
WebSocket
Use the WebsocketProvider
object to connect to your node WSS endpoint and get the latest block number:
const Web3 = require('web3');
const web3 = new Web3(new Web3.providers.WebsocketProvider('YOUR_CHAINSTACK_ENDPOINT'));
web3.eth.getBlockNumber().then(console.log);
where YOUR_CHAINSTACK_ENDPOINT is your node WSS endpoint protected either with the key or password.
web3.py
Build DApps using web3.py and Filecoin nodes deployed with Chainstack.
- Install web3.py.
- Connect over HTTP or WebSocket. See also EVM node connection: HTTP vs WebSocket.
HTTP
Use the HTTPProvider
to connect to your node endpoint and get the latest block number.
from web3 import Web3
web3 = Web3(Web3.HTTPProvider('YOUR_CHAINSTACK_ENDPOINT'))
print(web3.eth.blockNumber)
from web3 import Web3
web3 = Web3(Web3.HTTPProvider('https://%s:%[email protected]%s'% ("USERNAME", "PASSWORD", "HOSTNAME")))
print(web3.eth.blockNumber)
where
- YOUR_CHAINSTACK_ENDPOINT โ your node HTTPS endpoint protected either with the key or password
- HOSTNAME โ your node HTTPS endpoint hostname
- USERNAME โ your node access username (for password-protected endpoints)
- PASSWORD โ your node access password (for password-protected endpoints)
See also node access details.
WebSocket
Use the WebsocketProvider
object to connect to your node WSS endpoint and get the latest block number.
from web3 import Web3
web3 = Web3(Web3.WebsocketProvider('YOUR_CHAINSTACK_ENDPOINT'))
print(web3.eth.blockNumber)
from web3 import Web3
web3 = Web3(Web3.WebsocketProvider('wss://%s:%[email protected]%s'% ("USERNAME", "PASSWORD", "HOSTNAME")))
print(web3.eth.blockNumber)
where
- YOUR_CHAINSTACK_ENDPOINT โ your node WSS endpoint protected either with the key or password
- HOSTNAME โ your node WSS endpoint hostname
- USERNAME โ your node access username (for password-protected endpoints)
- PASSWORD โ your node access password (for password-protected endpoints)
See also WebSocket connection to an EVM node.
ethers.js
Build DApps using ethers.js and Filecoin nodes deployed with Chainstack.
- Install ethers.js.
- Connect over HTTP or WebSocket. See also EVM node connection: HTTP vs WebSocket.
HTTP
Use the JsonRpcProvider
object to connect to your node endpoint and get the latest block number:
const { ethers } = require("ethers");
var urlInfo = {
url: 'YOUR_CHAINSTACK_ENDPOINT'
};
var provider = new ethers.providers.JsonRpcProvider(urlInfo, NETWORK_ID);
provider.getBlockNumber().then(console.log);
const { ethers } = require("ethers");
var urlInfo = {
url: 'YOUR_CHAINSTACK_ENDPOINT',
user: 'USERNAME',
password: 'PASSWORD'
};
var provider = new ethers.providers.JsonRpcProvider(urlInfo, NETWORK_ID);
provider.getBlockNumber().then(console.log);
where
- YOUR_CHAINSTACK_ENDPOINT โ your node HTTPS endpoint protected either with the key or password
- USERNAME โ your node access username (for password-protected endpoints)
- PASSWORD โ your node access password (for password-protected endpoints)
- NETWORK_ID โ Filecoin network ID:
- Calibration Testnet:
314159
- Calibration Testnet:
See also node access details.
WebSocket
Use the WebSocketProvider
object to connect to your node WSS endpoint and get the latest block number:
const { ethers } = require("ethers");
const provider = new ethers.providers.WebSocketProvider('YOUR_CHAINSTACK_ENDPOINT', NETWORK_ID);
provider.getBlockNumber().then(console.log);
where
- YOUR_CHAINSTACK_ENDPOINT โ your node WSS endpoint endpoint protected either with the key or password
- NETWORK_ID โ Filecoin network ID:
- Calibration Testnet:
314159
- Calibration Testnet:
See also node access details.
Updated 7 days ago