{"id":25284241,"url":"https://github.com/elastos/elastos.ela.arbiter","last_synced_at":"2025-12-28T09:33:23.645Z","repository":{"id":40247748,"uuid":"279804093","full_name":"elastos/Elastos.ELA.Arbiter","owner":"elastos","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-10T03:29:09.000Z","size":1108,"stargazers_count":2,"open_issues_count":1,"forks_count":4,"subscribers_count":24,"default_branch":"master","last_synced_at":"2024-06-20T15:36:00.622Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elastos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-15T07:55:58.000Z","updated_at":"2023-08-04T05:21:21.000Z","dependencies_parsed_at":"2024-06-19T15:05:48.592Z","dependency_job_id":"1dbecd1f-7367-406f-85cd-50ddbf4f9ced","html_url":"https://github.com/elastos/Elastos.ELA.Arbiter","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastos%2FElastos.ELA.Arbiter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastos%2FElastos.ELA.Arbiter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastos%2FElastos.ELA.Arbiter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastos%2FElastos.ELA.Arbiter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elastos","download_url":"https://codeload.github.com/elastos/Elastos.ELA.Arbiter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238548853,"owners_count":19490711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-12T20:36:38.588Z","updated_at":"2025-10-27T19:31:11.292Z","avatar_url":"https://github.com/elastos.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Elastos ELA Arbiter\n===========\n[![Build Status](https://travis-ci.org/elastos/Elastos.ELA.Arbiter.svg?branch=master)](https://travis-ci.org/elastos/Elastos.ELA.Arbiter) [![Go Report Card](https://goreportcard.com/badge/github.com/elastos/Elastos.ELA.Arbiter)](https://goreportcard.com/report/github.com/elastos/Elastos.ELA.Arbiter)\n\n## Introduction\n##### This project is the source code that can build a arbiter of ELA.\n\n\n## Table of Contents\n- [Elastos ELA Arbiter](#elastos-ela-arbiter)\n    - [Introduction](#introduction)\n    - [Table of Contents](#table-of-contents)\n- [Pre-requisites on Mac](#pre-requisites-on-mac)\n    - [1. Check OS version](#1-check-os-version)\n    - [2. Install Go distribution 1.9](#2-install-go-distribution-19)\n- [Pre-requisites on Ubuntu](#pre-requisites-on-ubuntu)\n    - [1. Check OS version](#1-check-os-version-1)\n    - [2. Install git](#2-install-git)\n    - [3. Install Go distribution 1.9](#3-install-go-distribution-19)\n- [Configure the node](#configure-the-node)\n- [Build the node](#build-the-node)\n    - [1. Check Go version](#1-check-go-version)\n    - [2. Clone source code](#2-clone-source-code)\n    - [3. Make](#3-make)\n    - [4. Run the node](#4-run-the-node)\n- [Interact with the node](#interact-with-the-node)\n    - [1. JSON RPC API of the node](#1-json-rpc-api-of-the-node)\n- [Contribution](#contribution)\n- [Acknowledgments](#acknowledgments)\n- [License](#license)\n\n## Pre-requisites on Mac\n\n#### 1. Check OS version\n\nMake sure the OSX version is 16.7+\n\n```shell\n$ uname -srm\nDarwin 16.7.0 x86_64\n```\n\n#### 2. Install Go distribution 1.13\n\nUse Homebrew to install Golang 1.13.\n\n```shell\n$ brew install go@1.13\n```\n\n\u003e If you install older version, such as v1.8, you may get missing math/bits package error when build.\n\n\n## Pre-requisites on Ubuntu\n\n#### 1. Check OS version\n\nMake sure your ubuntu version is 16.04+\n\n```shell\n$ cat /etc/issue\nUbuntu 16.04.3 LTS \\n \\l\n```\n\n#### 2. Install git\n\n```shell\n$ sudo apt-get install -y git\n```\n\n#### 3. Install Go distribution 1.13\n\n```shell\n$ curl -O https://storage.googleapis.com/golang/go1.13.5.linux-amd64.tar.gz\n$ tar -xvf go1.13.5.linux-amd64.tar.gz\n$ sudo chown -R root:root ./go\n$ sudo mv go /usr/local\n$ export GOPATH=$HOME/go\n$ export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin\n$ source ~/.profile\n```\n\n\u003e If you install older version, such as v1.8, you may get missing math/bits package error when build.\n\n## Configure the node\n\nSee the [documentation](./docs/config.json.md) about config.json to understand what each parameter means on the configuration file.\n\nIf you would like to connect to testnet, do the following:\n```shell\n$ cp docs/testnet_config.json.sample config.json\n```\n\nIf you would like to connect to mainnet, do the following:\n```shell\n$ cp docs/mainnet_config.json.sample config.json\n```\n\nMake sure to modify the parameters to what your own specification. \n\n## Build the node\n\n#### 1. Check Go version\n\nCheck the golang version. Make sure they are the following version number or above.\n\n```shell\n$ go version\ngo version go1.13.5 darwin/amd64\n```\n\nIf you cannot see the version number, there must be something wrong when install.\n\n#### 2. Clone source code\nMake sure you are in the folder\n```shell\n$ git clone https://github.com/elastos/Elastos.ELA.Arbiter.git\n```\n\nIf clone works successfully, you should see folder structure like Elastos.ELA.Arbiter/Makefile\n\n#### 3. Make\n\nBuild the node.\n```shell\n$ cd Elastos.ELA.Arbiter\n$ make\n```\n\nIf you did not see any error message, congratulations, you have made the arbiter full node.\n\n#### 4. Run the node\n\nRun the node.\n```shell\n$ ./arbiter -p password\n```\n\n## Interact with the node\n\n#### 1. JSON RPC API of the node\n\nOnce the node is running successfully, you can access Arbiter Node's JSON RPC APIs:\n\nExample 1: Get the block height synchronized by SPV from the main chain\n```bash\ncurl -H 'Content-Type: application/json' -H 'Accept:application/json' --data '{\"method\":\"getspvheight\"}' http://localhost:20606\n{\n    \"error\": null,\n    \"id\": null,\n    \"jsonrpc\": \"2.0\",\n    \"result\": 2509\n}\n```\n\nExample 2: Get the block height of side chain by side chain genesis block hash\n```bash\ncurl -H 'Content-Type: application/json' -H 'Accept:application/json' --data '{\"method\":\"getsidechainblockheight\",\"params\":{\"hash\":\"56be936978c261b2e649d58dbfaf3f23d4a868274f5522cd2adb4308a955c4a3\"}}' http://localhost:20606\n{\n    \"error\": null,\n    \"id\": null,\n    \"jsonrpc\": \"2.0\",\n    \"result\": 70\n}\n```\n\nIf you would like to learn more about what other JSON RPC APIs are available for the node, please check out the [JSON RPC API](docs/jsonrpc_apis.md)\n\n## Contribution\n\nWe welcome contributions to the Elastos ELA Arbiter Project.\n\n## Acknowledgments\n\nA sincere thank you to all teams and projects that we rely on directly or indirectly.\n\n## License \n\nThis project is licensed under the terms of the [MIT license](https://github.com/elastos/Elastos.ELA.Arbiter/blob/master/LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felastos%2Felastos.ela.arbiter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felastos%2Felastos.ela.arbiter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felastos%2Felastos.ela.arbiter/lists"}