From a8077f143d740f9dd0da564e537c51ce78c3c09a Mon Sep 17 00:00:00 2001 From: Marco Argentieri <3596602+tiero@users.noreply.github.com> Date: Tue, 13 Aug 2024 00:30:33 +0200 Subject: [PATCH] change order sections of the README (#240) --- README.md | 57 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index ee8a7a9..6efa472 100644 --- a/README.md +++ b/README.md @@ -14,20 +14,10 @@ Welcome to the Ark monorepo, a comprehensive solution for off-chain Bitcoin and

> **⚠️ IMPORTANT DISCLAIMER: ALPHA SOFTWARE** -> -> Ark is currently in alpha stage. This software is experimental and under active development. +> Ark is currently in alpha stage. This software is experimental and under active development. > **DO NOT ATTEMPT TO USE IN PRODUCTION**. Use at your own risk. -## Repository Structure - -- [`server`](./server/): `arkd` Ark Service Provider (ASP) - the always-on daemon -- [`client`](./client/): `ark` Single-key wallet CLI for interacting with the ASP -- [`common`](./common/): Shared code between the server and client -- [`pkg/client-sdk`](./pkg/client-sdk/): Go SDK for interacting with ASPs running the Ark protocol. It offers WASM bindings to interact with the SDK from the browser and other environments. - -## Ark Service Provider (ASP) Setup - -### Supported Networks and Wallets +## Supported Networks and Wallets | | Covenant-less | Covenant | |---------|-----------------------------|-----------------------------------------| @@ -36,12 +26,38 @@ Welcome to the Ark monorepo, a comprehensive solution for off-chain Bitcoin and ## Usage Documentation -For a comprehensive guide on how to set up and use Ark, please visit our [Developer Portal](https://arkdev.info). +For a comprehensive guide on how to set up and use Ark, please visit our [Developer Portal](https://arkdev.info). For a quick-start with Docker, head over to our [Quick Start guide](https://arkdev.info/docs/quick-start/intro) where you can setup an Ark Server and Clients in a local Bitcoin regtest network. +## Repository Structure + +- [`api-spec`](./api-spec/): Ark Protocol Buffer API specification +- [`client`](./client/): `ark` Single-key wallet CLI for interacting with the ASP +- [`common`](./common/): Shared code between the server and client +- [`pkg/client-sdk`](./pkg/client-sdk/): Go SDK for interacting with ASPs running the Ark protocol. It offers WASM bindings to interact with the SDK from the browser and other environments. +- [`server`](./server/): `arkd` Ark Service Provider (ASP) - the always-on daemon + ## Development -For detailed development instructions, including building from source, running tests, and contributing guidelines, please refer to the README files in the `server` and `client` directories. +For detailed development instructions, including running tests, and contributing to the implementations, please refer to the README files in the `server` and `client` directories. + +### Compile binary from source + +To compile Ark binaries from source, you can use the following Make commands from the root of the monorepo: + +- `make build-server`: Builds the `arkd` binary (Ark Service Provider) +- `make build-client`: Builds the `ark` binary (Single-key wallet CLI) +- `make build-wasm`: Builds the WebAssembly bindings +- `make build`: Builds all components for the current architecture (server, client, and WebAssembly SDK) +- `make build-all`: Cross-compile all components for all supported architectures + +For example, to build both the server and client binaries, run: + +```sh +make build +``` + +This will compile the `arkd` and `ark` binaries for your current architecture. For more detailed build instructions and options, please refer to the README files in the `server` and `client` directories. ### Contributing Guidelines @@ -56,16 +72,21 @@ For detailed development instructions, including building from source, running t 1. Install Go (version 1.18 or later) 2. Install [Nigiri](https://nigiri.vulpem.com/) for local Bitcoin and Liquid networks 3. Clone this repository: - ``` + + ```sh git clone https://github.com/ark-network/ark.git cd ark ``` + 4. Install dependencies: - ``` + + ```sh go mod download ``` + 5. Build the project: - ``` + + ```sh cd server make build cd ../client @@ -86,4 +107,4 @@ Currently, we do not have an official bug bounty program. However, we value the ## License -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. \ No newline at end of file