Update READMEs and add CONTRIBUTING.md (#1381)

* Update READMEs and add CONTRIBUTING.md

* Update go version

* Update READMEs and CONTRIBUTING.md

* Update README.md

* Update README.md

* Update README.md
This commit is contained in:
Ori Newman 2021-01-10 09:13:00 +02:00 committed by GitHub
parent 541205904e
commit 285ae5cd40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 156 additions and 15 deletions

19
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,19 @@
# Contributing to Kaspad
Any contribution to Kaspad is very welcome.
## Getting started
If you want to start contributing to Kaspad and don't know where to start, you can pick an issue from
the [list](https://github.com/kaspanet/kaspad/issues).
If you want to make a big change it's better to discuss it first by opening an issue or talk about it in
[Discord](https://discord.gg/WmGhhzk) to avoid duplicate work.
## Pull Request process
Any pull request should be opened against the development branch of the target version. The development branch format is
as follows: `vx.y.z-dev`, for example: `v0.8.5-dev`.
All pull requests should pass the checks written in `build_and_test.sh`, so it's recommended to run this script before
submitting your PR.

View File

@ -12,9 +12,13 @@ Kaspad is the reference full node Kaspa implementation written in Go (golang).
This project is currently under active development and is in a pre-Alpha state. This project is currently under active development and is in a pre-Alpha state.
Some things still don't work and APIs are far from finalized. The code is provided for reference only. Some things still don't work and APIs are far from finalized. The code is provided for reference only.
## What is kaspa
Kaspa is an attempt at a proof-of-work cryptocurrency with instant confirmations and sub-second block times. It is based on [the PHANTOM protocol](https://eprint.iacr.org/2018/104.pdf), a generalization of Nakamoto consensus.
## Requirements ## Requirements
Latest version of [Go](http://golang.org) (currently 1.13). Go 1.14 or later.
## Installation ## Installation
@ -27,23 +31,17 @@ Latest version of [Go](http://golang.org) (currently 1.13).
```bash ```bash
$ go version $ go version
$ go env GOROOT GOPATH
``` ```
NOTE: The `GOROOT` and `GOPATH` above must not be the same path. It is
recommended that `GOPATH` is set to a directory in your home directory such as
`~/dev/go` to avoid write permission issues. It is also recommended to add
`$GOPATH/bin` to your `PATH` at this point.
- Run the following commands to obtain and install kaspad including all dependencies: - Run the following commands to obtain and install kaspad including all dependencies:
```bash ```bash
$ git clone https://github.com/kaspanet/kaspad $GOPATH/src/github.com/kaspanet/kaspad $ git clone https://github.com/kaspanet/kaspad
$ cd $GOPATH/src/github.com/kaspanet/kaspad $ cd kaspad
$ go install . ./cmd/... $ go install . ./cmd/...
``` ```
- Kaspad (and utilities) should now be installed in `$GOPATH/bin`. If you did - Kaspad (and utilities) should now be installed in `$(go env GOPATH)/bin`. If you did
not already add the bin directory to your system path during Go installation, not already add the bin directory to your system path during Go installation,
you are encouraged to do so now. you are encouraged to do so now.
@ -53,10 +51,8 @@ $ go install . ./cmd/...
Kaspad has several configuration options available to tweak how it runs, but all Kaspad has several configuration options available to tweak how it runs, but all
of the basic operations work with zero configuration. of the basic operations work with zero configuration.
#### Linux/BSD/POSIX/Source
```bash ```bash
$ ./kaspad $ kaspad
``` ```
## Discord ## Discord
@ -74,4 +70,3 @@ The documentation is a work-in-progress. It is located in the [docs](https://git
## License ## License
Kaspad is licensed under the copyfree [ISC License](https://choosealicense.com/licenses/isc/). Kaspad is licensed under the copyfree [ISC License](https://choosealicense.com/licenses/isc/).

53
cmd/kaspactl/README.md Normal file
View File

@ -0,0 +1,53 @@
# kaspactl
kaspactl is an RPC client for kaspad
## Requirements
Go 1.14 or later.
## Installation
#### Build from Source
- Install Go according to the installation instructions here:
http://golang.org/doc/install
- Ensure Go was installed properly and is a supported version:
```bash
$ go version
```
- Run the following commands to obtain and install kaspad including all dependencies:
```bash
$ git clone https://github.com/kaspanet/kaspad
$ cd kaspad/cmd/kaspactl
$ go install .
```
- Kaspactl should now be installed in `$(go env GOPATH)/bin`. If you did not already add the bin directory to your
system path during Go installation, you are encouraged to do so now.
## Usage
The full kaspctl configuration options can be seen with:
```bash
$ kaspctl --help
```
But the minimum configuration needed to run it is:
```bash
$ kaspactl <REQUEST_JSON>
```
For example:
```
$ kaspactl '{"getBlockDagInfoRequest":{}}'
```
For a list of all available requests check out the [RPC documentation](infrastructure/network/netadapter/server/grpcserver/protowire/rpc.md)

45
cmd/kaspaminer/README.md Normal file
View File

@ -0,0 +1,45 @@
# kaspaminer
Kaspaminer is a CPU-based miner for kaspad
## Requirements
Go 1.14 or later.
## Installation
#### Build from Source
- Install Go according to the installation instructions here:
http://golang.org/doc/install
- Ensure Go was installed properly and is a supported version:
```bash
$ go version
```
- Run the following commands to obtain and install kaspad including all dependencies:
```bash
$ git clone https://github.com/kaspanet/kaspad
$ cd kaspad/cmd/kaspaminer
$ go install .
```
- Kapaminer should now be installed in `$(go env GOPATH)/bin`. If you did
not already add the bin directory to your system path during Go installation,
you are encouraged to do so now.
## Usage
The full kaspaminer configuration options can be seen with:
```bash
$ kaspaminer --help
```
But the minimum configuration needed to run it is:
```bash
$ kaspaminer --miningaddr=<YOUR_MINING_ADDRESS>
```

View File

@ -8,6 +8,35 @@ WALLET
`wallet` is a simple, no-frills wallet software operated via the command line.\ `wallet` is a simple, no-frills wallet software operated via the command line.\
It is capable of generating wallet key-pairs, printing a wallet's current balance, and sending simple transactions. It is capable of generating wallet key-pairs, printing a wallet's current balance, and sending simple transactions.
## Requirements
Go 1.14 or later.
## Installation
#### Build from Source
- Install Go according to the installation instructions here:
http://golang.org/doc/install
- Ensure Go was installed properly and is a supported version:
```bash
$ go version
```
- Run the following commands to obtain and install kaspad including all dependencies:
```bash
$ git clone https://github.com/kaspanet/kaspad
$ cd kaspad/cmd/wallet
$ go install .
```
- Wallet should now be installed in `$(go env GOPATH)/bin`. If you did
not already add the bin directory to your system path during Go installation,
you are encouraged to do so now.
Usage Usage
----- -----