Code Monkey home page Code Monkey logo

masa-oracle-go-testnet's Introduction

Masa Oracle: Decentralized Data Protocol ๐ŸŒ๐Ÿš€: Testnet Release

The Masa Oracle provides infrastructure for accessing, sharing, and rewarding providers of behavioral, personal, and identity data in a decentralized and private way. The Masa Oracle guarantees transparency, security, and equitable compensation for nodes participating in the Masa zk-Data Network & Marketplace.

Contents

Getting Started ๐ŸŒŸ

Prerequisites

Before diving in, ensure these prerequisites are installed:

Installation

  1. Clone the repository:

    git clone https://github.com/masa-finance/masa-oracle-go-testnet.git
    cd masa-oracle-go-testnet
    1. Build the node executable:
    go build -v -o masa-node ./cmd/masa-node

Staking Tokens ๐Ÿ”

To participate in the network and earn rewards, you must first stake your tokens:

  1. Obtain Sepolia ETH and Masa tokens for your node's Ethereum address. The address's private key is created when you run the node for the first time using ./masa-node --start and is saved locally:

    cat /Users/{USER}/.masa/masa_oracle_key.ecdsa
  2. Import the private key into Metamask to access your Ethereum address.

  3. Send Sepolia ETH and Masa testnet tokens to your address. Then you can stake!:

    ./masa-node --stake 100

Running the Node ๐Ÿš€

Start your node and join the Masa network with default configurations:

./masa-node --start

Command-Line Interface (CLI) ๐Ÿ’ป

Customize your node's behavior with various flags:

./masa-node --bootnodes=node1,node2,node3 --port=8080 --udp=true --tcp=false --start=true

Configuration ๐Ÿ”ง

To use a custom configuration file:

./masa-node --config=path/to/config.json

Connecting Nodes ๐Ÿ”—

Connect to a specific node in the network:

./masa-node --bootnodes=/ip4/34.133.16.77/udp/4001/quic-v1/p2p/16Uiu2HAmAEDCYv5RrbLhZRmHXGWXNuSFa7YDoC5BGeN3NtDmiZEb --port=4001 --udp=true --tcp=false --start=true

Deploying a Node using Fly.io ๐Ÿ›ซ

Deploy a node using Fly.io by setting up your environment and configuring your deployment settings:

Prerequisites

  • Generate a key and stake tokens by running the node locally with ./masa-node --start and ./masa-node --stake 100 ๐Ÿ‘†.
  • Install flyctl, the Fly.io command-line tool, from the official Fly.io documentation.
  • Sign up for and log into your Fly.io account.

Setup

  1. Initialize your application with Fly.io using fly launch from the masa-oracle-go-testnet project directory.

    fly launch
  2. Set the PRIVATE_KEY environment variable in your Fly.io application using the private key from your local node setup.

    fly secrets set -a YOUR_APP_NAME PRIVATE_KEY="PRIVATE_KEY"

Deployment

Deploy your application using fly deploy:

fly deploy

Checking Deployment Status

Check the status of your deployment with fly status:

fly status -a YOUR_APP_NAME

Requirements for Running Masa-Node on Fly.io ๐Ÿ“‹

To run the masa-node on Fly.io's free plan, your server should meet the following specifications:

  • Operating System: Linux-based OS (Ubuntu 20.04 recommended)
  • Processor: 4 x Shared CPU
  • Memory: 1GB RAM
  • Storage: 20GB SSD
  • Network: Shared network resources

Please note that these are the specifications provided by Fly.io's free plan. For better performance, especially for production environments, a more powerful server may be necessary.

Before running the masa-node, make sure to install the necessary dependencies as outlined in the Installation section.

Also, ensure that the necessary ports are open in your server's firewall settings to allow for incoming and outgoing connections.

Please refer to the Fly.io documentation for more details on their server specifications and how to configure your application.


After setting up, your node's address will be displayed, indicating it's ready to connect with other Masa nodes. Follow any additional configuration steps and best practices as per your use case or network

masa-oracle-go-testnet's People

Contributors

teslashibe avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.