github.com/amazechain/amc@v0.1.3/README.md (about)

     1  # AmazeChain
     2  AmazeChain(AMC) is an implementation of public blockchain (execution client), on the efficiency frontier, written in Go.
     3  
     4  **Disclaimer: this software is currently a tech preview. We will do our best to keep it stable and make no breaking changes, but we don't guarantee anything. Things can and will break.**
     5  
     6  ## System Requirements
     7  
     8  * For an Full node :  >=200GB  storage space.
     9  
    10  SSD or NVMe. Do not recommend HDD.
    11  
    12  RAM: >=16GB, 64-bit architecture, [Golang version >= 1.19](https://golang.org/doc/install)
    13  
    14  
    15  ## Build from source code
    16  For building the latest alpha release (this will be suitable for most users just wanting to run a node):
    17  
    18  ### Most Linux systems and macOS
    19  
    20  AMC is written in Go, so building from source code requires the most recent version of Go to be installed.
    21  Instructions for installing Go are available at the [Go installation page](https://golang.org/doc/install) and necessary bundles can be downloaded from the [Go download page](https://golang.org/dl/).
    22  And the repository should be cloned to a local repository. Then, the command make amc configures everything for a temporary build and cleans up afterwards. This method of building only works on UNIX-like operating systems
    23  ```sh
    24  git clone https://github.com/amazechain/amc.git
    25  cd amc
    26  make amc
    27  ./build/bin/amc
    28  ```
    29  ### Windows
    30  
    31  Windows users may run AMC in 3 possible ways:
    32  
    33  * Build executable binaries natively for Windows using [Chocolatey package manager](https://chocolatey.org/)
    34  * Use Docker :  see [docker-compose.yml](./docker-compose.yml)
    35  * Use WSL (Windows Subsystem for Linux) **strictly on version 2**. Under this option you can build amc just as you would on a regular Linux distribution. You can point your data also to any of the mounted Windows partitions (eg. `/mnt/c/[...]`, `/mnt/d/[...]` etc) but in such case be advised performance is impacted: this is due to the fact those mount points use `DrvFS` which is a [network file system](#blocks-execution-is-slow-on-cloud-network-drives) and, additionally, MDBX locks the db for exclusive access which implies only one process at a time can access data.  This has consequences on the running of `rpcdaemon` which has to be configured as [Remote DB](#for-remote-db) even if it is executed on the very same computer. If instead your data is hosted on the native Linux filesystem non limitations apply. **Please also note the default WSL2 environment has its own IP address which does not match the one of the network interface of Windows host: take this into account when configuring NAT for port 30303 on your router.**
    36  
    37  
    38  ### Docker container
    39  Docker allows for building and running AMC via containers. This alleviates the need for installing build dependencies onto the host OS.
    40  see [docker-compose.yml](./docker-compose.yml) [dockerfile](./Dockerfile).
    41  For convenience we provide the following commands:
    42  ```sh
    43  make images # build docker images than contain executable AMC binaries
    44  make up # alias for docker-compose up -d && docker-compose logs -f 
    45  make down # alias for docker-compose down && clean docker data
    46  make start #  alias for docker-compose start && docker-compose logs -f 
    47  make stop # alias for docker-compose stop
    48  ```
    49  
    50  ## Executables
    51  
    52  The AmazeChain project comes with one wrappers/executables found in the `cmd`
    53  directory.
    54  
    55  |    Command    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
    56  | :-----------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    57  |  **`AmazeChain`**   | Our main AmazeChain CLI client.  It can be used by other processes as a gateway into the AmazeChain network via JSON RPC endpoints exposed on top of HTTP transports. `AmazeChain --help`  for command line options.          |
    58  
    59  
    60  ## AMC ports
    61  
    62  | Port  | Protocol |         Purpose          |       Expose       |
    63  |:-----:|:--------:|:------------------------:|:------------------:|
    64  | 61015 |   UDP    | The port used by discv5. |       Public       |
    65  | 61016 |   TCP    | The port used by libp2p. |       Public       |
    66  | 20012 |   TCP    |      Json rpc/HTTP       |       Public       |
    67  | 20013 |   TCP    |    Json rpc/Websocket    |       Public       |
    68  | 20014 |   TCP    | Json rpc/HTTP/Websocket  | JWT Authentication |
    69  | 4000  |   TCP    |   BlockChain Explorer    |       Public       |
    70  | 6060  |   TCP    |         Metrics          |      Private       | 
    71  | 6060  |   TCP    |          Pprof           |      Private       | 
    72  
    73  ## License
    74  The AmazeChain library is licensed under the
    75  [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html).
    76