FilSwan开发文档
中文(简体)
  • 开始
    • FilSwan 概览
    • 协议栈
      • 跨链共识层
      • Peer-to-Peer (P2P) 网络
      • 支付频道
      • Service Discovery
      • 数据市场
      • 索引和缓存市场
      • Web3 任务bid市场
      • 存储层
      • 计算层
      • CDN 层
      • 治理
    • 联系我们
      • 社交账号&社区
      • 商业合作
  • Filswan Platform
    • 概览
      • FilSwan 竞价系统
      • Web3自动交易匹配
      • 信誉系统
    • 主要功能
      • 任务管理
        • 创建新任务
        • Navigate Tasks
        • 更新任务
        • 分配任务
      • 我的资料
        • 注册成为存储提供商
      • 寻找存储提供商
        • 存储提供商详情
      • DataCap订单续期服务
  • Multichain.Storage
    • 概览
      • Flink
    • Multichain.Storage 用户指南
      • 公链测试网
      • 设置MetaMask
      • 用Alchemy RPC URL配置MetaMask
    • 开发人员快速入门
      • SDK
        • js mcs SDK
          • 开始
          • 上传文件
          • 支付存储费用
          • 铸造NFT
          • 文件列表
          • 获取文件详情
          • 获取文件在Filecoin上的状态
          • SDK安装视频教程
        • python mcs SDK
          • 开始
          • 上传文件
          • Stream Upload Files
          • 支付存储费用
          • 铸造NFT
          • 文件列表
          • 获取文件详情
      • 更多资源
    • 运行Multichain.Storage节点
    • Multichain Storage 概述
      • Flink
      • Multichain.Storage Mumbai测试网用户指南
      • Multichain.Storage Polygon 主网用户指南
    • 开发人员快速入门
      • SDK
        • js-mcs-sdk
          • 开始
          • 上传文件
          • 支付数据存储费用
          • Mint NFTs资产
          • 列出文件
          • 获取文件详细信息
          • 获取文件的Filecoin状态
      • 其他资源
  • Swan Provider
    • 概览
    • 功能
    • 使用指南
      • 前提条件
      • 安装
      • 配置并运行
      • Swan Provider 视频教程
    • 常见问题
      • 1. Storage Provider 绑定新账号
      • 2. 如何检查您的 Storage Provider 连通性/稳定性
      • 3. 如何暂停接受自动竞价订单
      • 4. aria2_download_dir 和aria2_candidate_dirs 的区别
      • 5. Boostd 正常运行情况下如何配置从 Swan Provider 接收订单
      • 6. 接单过程中总出现拒绝信息
      • 7. 如何检查 aria2 是否在运行?
      • 8. Swan Platform 无响应
      • 9. Storage Provider 状态显示“Offline/离线”
      • 10. 如何检查任务状态
      • 11. 如何配置 Storage Provider Market
      • 12. 如何设置接单条件
  • SWAN CLIENT
    • 概览
    • 基本概念须知
    • 使用指南
      • Filecoin 交易发送引擎
        • 安装
        • 配置
        • 前提条件
        • 生成 CAR 文件
        • Meta-CAR
        • 上传 CAR 文件到 IPFS
        • 创建任务
      • 区块链 RPC 服务
        • 部署 RPC 服务
        • RPC 命令
      • Swan Client 视频教程
  • FS3
    • 概览
    • Setup your FS3
      • 前提
      • 安装 FS3
      • FS3安装视频教程
    • FS3 User Guide
    • FS3 User Guide (Cloud Version)
    • FS3手册中文版
  • 开发资源
    • Swan Token 合约
      • Acquire Testnet USDC and MATIC tokens
    • FilSwan API
    • MCS API
    • MCS 2.0 API
    • Flink API
    • FS3 API
    • API密钥
    • 有关FilSwan的常见问题
Powered by GitBook
On this page
  • Hardware Requirements
  • MCS Node
  • MySQL Database
  • Ethereum Client
  • Filecoin Lotus Client
  • Chainlink node
  • Running From Source
  • Using Docker
  • Requirements
  1. Multichain.Storage

运行Multichain.Storage节点

Previous更多资源NextMultichain Storage 概述

Last updated 2 years ago

In this section, we'll explain the requirements and basics for running your own MCS node.

It's important to note that nodes can fulfill requests for open APIs out-of-the-box using our without needing any additional configuration.

If you would like to provide data from an authenticated API, you can add an external adapter to enable connectivity through the MCS node.

Hardware Requirements

MCS Node

Your MCS node should be run on a server that has a public IP address.

Minimum

To get started running an MCS node, you will need a machine with at least 4 cores and 4 GB of RAM.

Recommended

The requirements for running an MCS node scale as the number of jobs your node services also scale. For nodes with over 100 jobs, you will need at least 4 cores and 8GB of RAM.

MySQL Database

In addition to running an MCS node, you will also need a PostgreSQL database. Please use a version >= 11, and be sure that your DB host provides access to logs.

Minimum

The minimum requirements for the database are 2 cores, 4GB of RAM, and 100 GB of storage.

Recommended

Similar to the MCS node, requirements increase as you service more jobs. For more than 100 jobs, your database server will need at least 4 cores, 16 GB of RAM, and 100 GB of storage.

Ethereum Client

Connectivity to an Ethereum client is also required for communication with the blockchain. If you decide to run your own Ethereum client, you will want to run that on a separate machine. Hardware requirements of Ethereum clients may change over time. You can also use a 3rd party (defined below).

Filecoin Lotus Client

Connectivity to an Ethereum client is also required for communication with the Filecoin blockchain. If you decide to run your own Ethereum client, you will want to run that on a separate machine. Hardware requirements of Ethereum clients may change over time. You can also use a 3rd party (defined below).

Chainlink node

Operating a Chainlink node allows you to be part of the Chainlink Network, helping developers build hybrid smart contracts, and giving them access to real-world data and services.

Learn more about Chainlink nodes with our step‑by‑step tutorials and documentation:

Set Up a Chainlink Node

Install and run your own node on a local machine or remote server.

Fulfill Your First Job Request

Deploy an Oracle contract and make job requests to your node.

Add External Adapters to Your Node

Bring high-quality data and premium web APIs to contract developers.

Running From Source

Using Docker

Requirements

sudo amazon-linux-extras install -y docker
sudo systemctl start docker
sudo gpasswd -a $USER docker
exit
# log in again
curl -sSL https://get.docker.com/ | sh
sudo systemctl start docker
sudo usermod -aG docker $USER
exit
# log in again
curl -sSL https://get.docker.com/ | sh
sudo usermod -aG docker $USER
exit
# log in again
curl -sSL https://get.docker.com/ | sh
sudo systemctl start docker
sudo usermod -aG docker $USER
exit
# log in again
curl -sSL https://get.docker.com/ | sh
sudo usermod -aG docker $USER
exit
# log in again
  • A fully synced Ethereum client with websockets enabled. Client specific instructions can be found below:

Create a directory

Once you have your Ethereum client running and fully synced, you're ready to run the MCS node.

Create a local directory to hold the MCS data:

mkdir ~/.MCS-rinkeby
mkdir ~/.MCS-kovan
mkdir ~/.MCS

Create an Environment File

echo "ROOT=/MCS
LOG_LEVEL=debug
ETH_CHAIN_ID=4
MCS_TLS_PORT=0
SECURE_COOKIES=false
ALLOW_ORIGINS=*" > ~/.MCS-rinkeby/.env
echo "ROOT=/MCS
LOG_LEVEL=debug
ETH_CHAIN_ID=42
MCS_TLS_PORT=0
SECURE_COOKIES=false
ALLOW_ORIGINS=*" > ~/.MCS-kovan/.env
echo "ROOT=/MCS
LOG_LEVEL=debug
ETH_CHAIN_ID=1
MCS_TLS_PORT=0
SECURE_COOKIES=false
ALLOW_ORIGINS=*" > ~/.MCS/.env

Set your Ethereum Client URL

🚧 Using an external Ethereum client?

Ethereum Client on the Same Machine

Next you need to get the URL for the Ethereum client. The command below will help you obtain the IP address of the container that your Ethereum client is running on. This will only work if you have started an Ethereum client on the same machine as your MCS node.

ETH_CONTAINER_IP=$(docker inspect --format '{{ "{{ .NetworkSettings.IPAddress " }}}}' $(docker ps -f name=eth -q))

Then run the following command to add the Ethereum client's URL to your environment file. If you are using an external Ethereum client, use the External tab below, and update $ETH_CONTAINER_IP to the websocket address used for connectivity.

echo "ETH_URL=ws://$ETH_CONTAINER_IP:8546" >> ~/.MCS-rinkeby/.env
echo "ETH_URL=ws://$ETH_CONTAINER_IP:8546" >> ~/.chainlink-kovan/.env
echo "ETH_URL=ws://$ETH_CONTAINER_IP:8546" >> ~/.chainlink/.env

Ethereum Client as an External Provider

If you are using an external provider for connectivity to the Ethereum blockchain or you are running an Ethereum client on a separate instance, you may use the command below for your network. Be sure to update the value for CHANGEME to the value given by your provider or the address and port of your separate instance.

echo "ETH_URL=CHANGEME" >> ~/.chainlink-rinkeby/.env
echo "ETH_URL=CHANGEME" >> ~/.chainlink-kovan/.env
echo "ETH_URL=CHANGEME" >> ~/.chainlink/.env

🚧 Running Chainlink Node on Ganache

Set the Remote DATABASE_URL Config

  • $USERNAME: The database username (must be owner)

  • $PASSWORD: The user's password

  • $SERVER: The server name or IP address of the database server

  • $PORT: The port that the database is listening on

  • $DATABASE: The database to use for the Chainlink node (i.e. "postgres")

🚧 Important

If you're testing you can add ?sslmode=disable to the end of your DATABASE_URL. However you should never do this on a production node.

echo "DATABASE_URL=postgresql://$USERNAME:$PASSWORD@$SERVER:$PORT/$DATABASE" >> ~/.chainlink-rinkeby/.env
echo "DATABASE_URL=postgresql://$USERNAME:$PASSWORD@$SERVER:$PORT/$DATABASE" >> ~/.chainlink-kovan/.env
echo "DATABASE_URL=postgresql://$USERNAME:$PASSWORD@$SERVER:$PORT/$DATABASE" >> ~/.chainlink/.env

Start the MCS Node

cd ~/.chainlink-rinkeby && docker run -p 6688:6688 -v ~/.chainlink-rinkeby:/chainlink -it --env-file=.env smartcontract/chainlink:<version> local n
cd ~/.chainlink-kovan && docker run -p 6688:6688 -v ~/.chainlink-kovan:/chainlink -it --env-file=.env smartcontract/chainlink:<version> local n
cd ~/.chainlink && docker run -p 6688:6688 -v ~/.chainlink:/chainlink -it --env-file=.env smartcontract/chainlink:<version> local n

📘 Local Database

If you're running a local database you may need to add the --network host flag to the command above.

📘 Important

You will need to send some ETH to your node's address in order for it to fulfill requests. You can view your node's ETH address when the node starts up or on the Configuration page of the GUI

You need to send link to the following address for Chainlink Oracle Service

{flink_service_contract}: link

{DAO multisig wallet holder address} : matic

{node_wallet}: matic

If you run your node on AWS, use an instance type with dedicated core time. have a limited number of , so you should not use them to run MCS nodes that require consistent performance.

To run an MCS node from the source, use the .

It's recommended to run the MCS node with . This is because we continuously build and deploy the code from our , which means you don't need a complete development environment to run a node.

. Quick instructions for setting up Docker is below:

Other Supported Networks: MCS is blockchain agnostic technology. The page details networks which support the LINK token. You can setup your node to provide data to any of these blockchains.

Run the following as a command to create an environment file and populate with variables specific to the network you're running on. For a full list of available configuration variables, click .

If you're using a 3rd party service to connect to the blockchain, skip to the section to set the ETH_URL environment variable. We provide general guidance, but you will need to obtain the websocket connection string to add to your environment file.

Ganache is a mock testnet and it doesn't work with Chainlink because of that. To use the features of the network, you need to deploy your contract on a real environment: one of the testnets or mainnets. The full list of supported environments can be found .

You will need to connect your Chainlink node with a remote PostgreSQL database. See the page for more information. Use the example below to configure your DATABASE_URL setting in your environment file, replacing $VARIABLES with their actual values.

Now you can run the Docker image. Replace <version> with your desired version. Tag versions are available in the . The latest version does not work.

The first time running the image, it will ask you for a password and confirmation. This will be your wallet password that you can use to unlock the keystore file generated for you. Then, you'll be prompted to enter an API Email and Password. This will be used to expose the API for the GUI interface, and will be used every time you log into your node. When running the node again, you can supply the -p option with a path to a text file containing the wallet key password, and a -a option, pointing to a text file containing the API email and password. Instructions on how to do that are .

You can now connect to your Chainlink node's UI interface by navigating to . If using a VPS, you can create a to your node for 6688:localhost:6688 to enable connectivity to the GUI. Typically this is done with ssh -i $KEY $USER@$REMOTE-IP -L 6688:localhost:6688 -N. A SSH tunnel is recommended over opening up ports specific to the Chainlink node to be public facing. See the page for more details on how to secure your node.

Burstable Performance Instances
CPU credits
following instructions
Docker
repository on Github
Docker-CE
Run Geth
Run OpenEthereum
Use an external service
LINK Token Contracts
here
here
Connecting to a Remote Database
Chainlink docker hub
here
http://localhost:6688
SSH tunnel
Security and Operation Best Practices
External Provider
Tasks
Learn More
Learn More
Learn More
Right arrow
Right arrow
Right arrow
GitHub - filswan/filecoin-chart: Helm chart for deploying a group of Filecoin nodesGitHub
GitHub - filswan/filecoin-docker: A Docker image for Lotus Filecoin nodesGitHub
GitHub - filswan/filecoin_tools: Tools for filecoin node and miner management.GitHub
Logo
Logo
Logo