{"id":13565014,"url":"https://github.com/wormholes-org/wormholes","last_synced_at":"2025-04-03T22:30:34.702Z","repository":{"id":60856690,"uuid":"509020759","full_name":"wormholes-org/wormholes","owner":"wormholes-org","description":"a project of public blockchain, support rich functionality for NFT","archived":false,"fork":false,"pushed_at":"2023-07-27T08:03:32.000Z","size":634514,"stargazers_count":339,"open_issues_count":8,"forks_count":128,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-04T18:45:54.021Z","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":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wormholes-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-06-30T09:43:38.000Z","updated_at":"2024-06-20T16:25:03.000Z","dependencies_parsed_at":"2024-01-14T03:50:18.444Z","dependency_job_id":"a2be65a1-4490-43a9-ab82-f1ac4c485a4b","html_url":"https://github.com/wormholes-org/wormholes","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wormholes-org%2Fwormholes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wormholes-org%2Fwormholes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wormholes-org%2Fwormholes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wormholes-org%2Fwormholes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wormholes-org","download_url":"https://codeload.github.com/wormholes-org/wormholes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247089679,"owners_count":20881818,"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":"2024-08-01T13:01:39.257Z","updated_at":"2025-04-03T22:30:29.691Z","avatar_url":"https://github.com/wormholes-org.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# WormholesChain\n\nThe WormholesChain solves the blockchain trilemma, which entails a necessary tradeoff between scalability, security, and decentralization, by building the\ntechnology to achieve the ideal balance between these three metrics, creating a highly scalable and secure blockchain system that doesn’t sacrifice\ndecentralization.\n\n[![Gitter](https://badges.gitter.im/wormholes-org/Internal-test-miner.svg)](https://gitter.im/wormholes-org/Internal-test-miner?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\n## The Approach\n\nThe significant step before spinning up your node is choosing your approach. Based on requirements and many potential possibilities,\nyou must select the client implementation (of both execution and consensus clients), the environment (hardware, system), and the\nparameters for client settings.\n\nTo decide whether to run the software on your hardware or in the cloud depending on your demands.\n\nYou can use the startup script to start your node after preparing the environment.\n\nWhen the node is running and syncing, you are ready to use it, but make sure to keep an eye on its maintenance.\n\n## Environment and Hardware\n\nWormholes clients are able to run on consumer-grade computers and do not require any special hardware, such as mining machines.\nTherefore, you have more options for deploying the node based on your demands. let us think about running a node on both a local\nphysical machine and a cloud server:\n\n### Hardware\n\nWormholes clients can run on your computer, laptop, server, or even a single-board computer. Although running clients on\ndifferent devices are possible, it had better use a dedicated machine to enhance its performance and underpin the security,\nwhich can minimize the impact on your computer.\n\nHardware requirements differ by the client but generally are not that high since the node just needs to stay synced.\n\nDo not confuse it with mining, which requires much more computing power. However , sync time and performance do improve with more\npowerful hardware.\n\n### Minimum requirements\n\n-  CPU: Main frequency 2.9GHz, 4 cores or above CPU.\n-  Memory: Capacity 8GB or more.\n-  Hard Disk: Capacity 500GB or more.\n-  Network bandwidth: 6M uplink and downlink peer-to-peer rate or higher\n\nBefore installing the client, please ensure your computer has enough resources to run it. You can find the minimum and recommended requirements below.\n\n## Spin-up Your Own Wormholes Node\n\nParticipate in the Wormholes blockchain public testnet, jointly support and maintain the Wormholes network ecosystem, and you can obtain corresponding\nbenefits. \n\nThis tutorial will guide you to deploy Wormholes nodes and participate in verifying the security and reliability of the Wormholes network. Choose the \nsoftware tools and deployment methods you are familiar with to maintain your own nodes.\n\n### Docker Clients Setup\n\n#### Preparation\n\n- Install wget. \n\n  Please go to the [wget website](https://www.gnu.org/software/wget/) to download and install it. If you are using Linux system, you can also \ninstall it using the `apt-get install wget` command. If you are using MacOS system, you can also install it using the `brew install wget` command.\n\n- Install Docker.\n\n  For the installation and use of Docker, please refer to the [Docker Official Documentation](https://docs.docker.com/engine/install/).\n\n#### Run the node\n\nWhen using the script to start the node, you must enter the private key of the account used for pledge prepared earlier. For details, see the\ndocumentation [Deploy Wormholes Nodes Using Official Scripts](https://www.wormholes.com/docs/install/run/docker/docker_3/index.html).\n\n### Manual clients setup\n\nThe actual client setup can be done by using the automatic launcher or manually.\n\nFor ordinary users, we recommend you use a startup script, which guides you through the installation and automates the client setup process. However, if\nyou have experience with the terminal, the manual setup steps should be easy to follow.\n\n#### Startup parameters\n\n- Start ***Wormholes*** in fast sync mode (default, can be changed withthe ***--syncmode*** flag),causing it to download more data in exchange for\navoiding processing the entire history of the Wormholes Chain network, which is very CPU intensive.\n\n- Start up***Wormholes's*** built-in interactive JavaScript,(via the trailing ***console*** subcommand) through which you can interact using ***web3***\n  [methods](https://web3js.readthedocs.io/en/v1.2.9/)(note: the ***web3*** version bundled within ***Wormholes*** is very old, and\n  not up to date with official docs), as well as ***Wormholes's*** own [management APIs](https://www.wormholes.com/docs/management/) .\n  This tool is optional and if you leave it out you can always attach to an already running ``Wormholes`` instance with ***Wormholes attach*** .\n\n#### Full nodes functions\n\n-  Stores the full blockchain history on disk and can answer the data request from the network.\n-  Receives and validates the new blocks and transactions.\n-  Verifies the states of every account.\n\n#### Start ordinary node\n\n1. Download the binary, config and genesis files from [release](https://github.com/wormholes-org/wormholes), or compile the binary by ``make wormholes``.\n\n2. Start your full node.\n\n   ````\n      # Ordinary nodes need to be started in full mode\n      ./wormholes --devnet --syncmode=full\n\n   ````\n\n#### Start validator node\n\n1. Download the binary, config and genesis files from [release](https://github.com/wormholes-org/wormholes), or compile the binary by ``make wormholes``.\n\n\n2. Prepare a script to start the node, and name it run_node (If the system is windows, you need to add the file suffix .bat), or something else. Note that\nthe script should be in the same directory as the main Wormholes program.\n\n   If you are using the windows system, the reference is as follows:\n\n   ````\n\t@echo off\n\tset rootPath=%~dp0\n\tset nodePath=%rootPath%.wormholes\n\tif exist %nodePath% (\n\t     rd /s/q %nodePath%\n\t)\n\n\tif \"%1\" == \"\" (\n\t   echo \"Please pass in the private key of the account to be pledged.\"\n\t\texit -1\n\t) else (\n\t   md %nodePath%\\geth\n\t   echo %1 \u003e %nodePath%\\geth\\nodekey\n\t   wormholes.exe --devnet --datadir %nodePath% --mine --syncmode=full\n\t)\n   \n   ````\n\n   If you are using a Linux system, the reference is as follows:\n\n   ````\n      \n\t#!/bin/bash\n\t# write private key to file\n\tif [ -d .wormholes ]; then\n\t   rm -rf .wormholes\n\tfi\n\n\tif [[ $# -gt 0 ]] ; then\n\t   mkdir -p .wormholes/wormholes\n\t   echo $1\u003e.wormholes/wormholes/nodekey\n\telse\n\t   echo \"Please pass in the private key of the account to be pledged.\"\n\t   return -1\n\tfi\n\t./wormholes --devnet --datadir .wormholes --syncmode=full\n   \n   ````\n\n3. Start node.\n\n   You can start a node based on the startup parameters, or you can start your own node using a startup script. If you use scripts, you need to select\n   scripts for different environments according to different system environments. When running the startup script, you must pass in the private key of the\n   account to be pledged, which is the private key saved in step 1.  the reference is as follows:\n\n   ````\n\n\t#linux system\n\t#Runtime parameter -- private\n\t./run_node 94b796b1b11893561c34cf000f23ecf3b39067bb198b9ec9f7b1a79646114680\n\n\t#windows system\n\t#Go to the directory where the startup script is located in the CMD terminal\n\t./run_node.bat 94b796b1b11893561c34cf000f23ecf3b39067bb198b9ec9f7b1a79646114680\n\n   ````\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwormholes-org%2Fwormholes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwormholes-org%2Fwormholes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwormholes-org%2Fwormholes/lists"}