Chia Coin

最後更新: 2022-07-22

介紹

HomePage: https://www.chia.net/

  • 區塊時間: 每 5 分鐘 16 個區塊通證
  • XCH區塊獎勵(reward): 每區塊獎勵 2 XCH, 每 3 年減半
  • 共識算法類型: Proof of Space and Time
  • 共識算法: Nakamoto
  • Program: Python 3.7 and above

Chia(XCH) vs Filecoil(FIL)

1. Chia 硬盤中存儲的數據是完全無意義的
2. Filecoin有很高的挖礦門檻(抵押, Ram)
3. Filecoin需要大量的帶寬資源

Size of the plots (V1.04)

  • K32: 102G     # Tmp: 332G, HDD@20hrs
  • K33: 208G     # Tmp: 589G, ?
  • ...

目錄

  • Ubuntu 18.04/ Debian 10 LTS non-root Installation
  • Link
  • Plot
  • 多收割機(harvester)
  • Chia Keys Architecture
  • HDD 與 SSD 的分別
  • 轉幣
  • xch transaction fees
  • 術語
  • Plot Speed Test
  • Join Pool
  • chia-plotter
  • Encrypt Private Key
  • Changelog

 


Firewall Setting

 

8444/TCP # chia_full_node

8447/TCP # chia_farmer

 


Ubuntu 18.04/ Debian 10 LTS non-root Installation

 

apt-get install python3.7-venv python3.7-distutils python3.7-dev -y

useradd -s /bin/bash chia -m

su chia;

cd ~

python3.7 -m venv chia-venv

source chia-venv/bin/activate

pip install --upgrade pip

# Install binary wheels

pip install chia-blockchain==1.1.2

# Usage

source chia-venv/bin/activate

chia -h

# Upgrade from previous version

cd chia-blockchain

chia stop -d all

deactivate

 

 


準備

 

# Migrate or set up configuration files

# /home/chia/.chia

chia init

# Generate keys

chia keys generate

# -n 2 will create two plots of type k=32

mkdir plots; cd plots

chia plots create -k 32 -n 2

# disable upnp (Restart to take effect)

chia configure -upnp false

# peer DB which is located at

~/.chia/mainnet/db/peer_table_node.sqlite

 


Daemon

# Run a full_node + farmer + harvester + wallet

chia start {service}

  • "farmer"       # start the farmer, harvester, chia_full_node, and the wallet
  • "farmer-no-wallet"
  • "node"         # start only the chia_full_node

Flags

-r, --restart: Restart of running processes

i.e.

chia start farmer                           # Solo Farm

Daemon not started yet
Starting daemon
chia_harvester: started
chia_farmer: started
chia_full_node: started
chia_wallet: started

Solo Farm

= farmer + harvester + full_node on the same machine

Full nodes

Full nodes are always connected to another random set of full nodes in the network.

(Peer Protocol)

Farmers

Chia's farmers are analogous to Bitcoin's miners.

They earn block rewards and fees by trying to create valid blocks before anyone else.

Farmers don't maintain a copy of the blockchain, but they trust a full node to provide updates.

Farmers communicate with harvesters (individual machines that actually store the plots) through the harvester protocol.

Harvesters

control the actual plot files by retrieving qualities or proofs from disk.
maintain a private key for each plot.

chia_daemon

# -d, --daemon  Stop daemon

chia stop all -d

 


Link

 

https://www.chiaexplorer.com/

 


Plotting

 

 * Plotting can be done entirely offline and needs nothing from the blockchain to complete.

 * 不同礦工間的Plot無法互換或者共享

Plotting 一共有 4 個 Phase

Phase 1 generates all of your proofs of space by creating seven tables of cryptographic hashes and saving them to your temporary directory.

Phase 2 back-propagates through the hashes,

Phase 3 sorts and algorithmically compress these hashes in the temporary directory while starting to build the final file

Phase 4 completes the file and moves it into your final plot file.

Opts

-t           # temp

-d          # destination

-2           # Phase 3 的結果放在那裡

# -2 與 -d 相同

Renamed final file from "/home/chia/plots/plot-k32-?.plot.2.tmp" to "/home/chia/plots/plot9/plot-k32-?e.plot"

# -2 與 -t 相同

Copied final file from "/home/chia/ssd1/plot-k32-?.tmp" to "/home/chia/plots/plot-k32-?.plot.2.tmp"

-n n        # The number of plots that will be made, in sequence.

-f [farmer pk]

This is your "Farmer Public Key".

Utilise this when you want to create plots on other machines for which you do not want to give full chia account access.

To find your Chia Farmer Public Key use the following command: chia keys show

-p [pool pk]

This is your "Pool Public Key".

Utilise this when you want to create plots on other machines for which you do not want to give full chia account access.

To find your Chia Pool Public Key use the following command: chia keys show

-b [memory buffer size MiB]

Define memory/RAM usage. Default is 4608 (4.6 GiB)

More RAM will marginally increase speed of plot creation.

Please bear in mind that this is what is allocated to the plotting algorithm alone.

Code, container, libraries etc. will require additional RAM from your system.

-r, --num_threads INTEGER       # Number of threads to use  [default: 2]

i.e.

chia plots create -k 32 -n 2 -b 9000 -f ? -p ?

plotting strategy

plot on say your gaming machine(farmer) and then move your plots to a Raspberry Pi 4(remote harvester) with a lot of USB ports.

Script

gen-plot.sh

#!/bin/bash

name=plot3
tmp=/home/chia/plots/$name/tmp
dst=/home/chia/plots/$name

fk=?
pk=?

#### Code
log=$dst/log.txt
source /root/chia-venv/bin/activate
rm -f $log
chia plots create -b 4500 -k 32 -r 2 -n 8 \
  -t $tmp -2 $dst -d $dst \
  -p $pk -f $fk >> $log

 

Check status by log

report.sh

grep -e 'Time for phase' -e 'Total time' -e 'Summary' plots/plot2/log.txt

 


Plots

 

# 查看 plot 放在那裡

chia plots show

/home/chia/plots

# Verify plot 的有效性

# Try 100 sample challenges for each plot.

# return a number around 100, which means it found around 100% of the attempted proofs of space.

chia plots check -n 100

 : INFO     Searching directories ['/home/chia/plots']
 : INFO     Found plot /home/chia/plots/plot-k32-?.plot of size 32
 : INFO     Loaded a total of 1 plots of size 0.09899909545038099 TiB, in 0.15807771682739258 seconds
 ...
 : INFO        Proofs 91 / 100, 0.91

Plot Format

  • plot id             # (32 byte) plot id = sha256 (pool pk, plot pk)
  • kn                   # i.e. 32
  • memo             # pool pk, farmer pk, local sk (這個隨機主私鑰是P盤時隨機生成的)
  • plot data         # ie. 101G

Plot public key

which is generated by combining the farmer public key with the local public key.

The local public key is a totally random key that is created for each plot, and put into the plot.

Moving plots

A) within the same machine

1. Move the plot file

rename a plot file from *.plot to *.plot-mv, copy/move it, and rename it back.

2. Add the new plot directory

chia plots add -d '/Users/example/folder'

B) to a different machine

1. Install chia on the new machine

2. Find your private keys using chia keys show on the old machine,

3. Copy the 24 mnemonic words (this is your private key) and add them to the new machine using

chia keys add

4. As A

 


查看 farm 的情況

 

chia show -s -c

-s, --state                     Show the current state of the blockchain

Current Blockchain Status: Full Node Synced

Peak: Hash: 26d4d388659a27fa66ff2dfdf8622d7ca9b9bda00601ae109b3047289d0cfc27
      Time: Sun May 02 2021 20:53:12 HKT                  Height:     219704
...

-c, --connections               List nodes connected to this Full Node

Connections:
Type      IP               Ports       NodeID      Last Connect      MiB Up|Dwn
FARMER    127.0.0.1        59884/8447  cc638a7d... Apr 27 21:24:29      5.3|0.0
FULL_NODE ?.?.?.?          2070/8444  b9a54f17... May 02 20:55:28     87.7|63.2
                           -SB Height:   219710    -Hash: a018f689...
...

-a, --add-connection TEXT        Connect to another Full Node by ip:port

-r, --remove-connection TEXT    Remove a Node by the first 8 characters of NodeID

chia farm summary

Farming status: Farming
Total chia farmed: 0.0
User transaction fees: 0.0
Block rewards: 0.0
Last height farmed: 0
Plot count: 1
Total size of plots: 101.375 GiB
Estimated network space: 811.762 PiB
Expected time to win: 4 years and 5 months
Note: log into your key using 'chia wallet show' to see rewards for each key

Searching for an initial chain

You may be able to expedite with 'chia show -a host:port' using a known node.

chia show -a node.chia.net:8444

 


查看錢包內的錢

 

chia wallet show

Wallet height: 1498
Balances, fingerprint: ?
Wallet ID 1 type STANDARD_WALLET
   -Confirmed: 0 mojo (0.0 xch)
   -Unconfirmed: 0 mojo (0.0 xch)
   -Spendable: 0 mojo (0.0 xch)
   -Pending change: 0 mojo (0.0 xch)

P.S. 啟動錢包

chia start wallet-only

chia stop wallet-only

How many confirmations do I need to trust a chia transaction is final?

The 32 blocks (approx. 10 minutes) suggested in the current

查看 Transaction

chia wallet get_transactions

Status: Confirmed
Amount: 1E-10 xch
To address: xch...
Created at: 2021-07-11 01:44:32

...

 


Debug

 

Set ALL instance log level

# -log-level [CRITICAL|ERROR|WARNING|INFO|DEBUG|NOTSET]

chia configure -log-level INFO

tail -f /home/chia/.chia/mainnet/log/debug.log

restart daemon

chia start -r farmer

log 的位置

/home/chia/.chia/mainnet/log/farmer.log

Per daemon log

.chia/mainnet/config/config.yaml

farmer:
  ...
  logging: &id001
    log_filename: log/farmer.log
    log_level: INFO
    log_maxfilesrotation: 7
    log_stdout: false
full_node:
  ...
  logging:
    log_filename: log/harvester.log
    log_level: INFO
    log_stdout: false
introducer:
  ...
  logging: *id002

 

 

 


多收割機(harvester)

 

# On Main machine

假設 All-In-One 機(main machine) 已經上線

1) Copy CA 出 All harvester

cd ~/.chia/mainnet/config/ssl

tar -zcf ca.tgz ca

Copy ca.tgz to All harvester

2) set NAT on main machine

8447/TCP

P.S. 測試

tcpdump -n -i br0 port 8447

# On all harvester

1. 建立初始設定

chia init

2. 建立 plots 檔

chia plots create -f farmer_key -p pool_key

3. Creates a new certificate signed by your main machine's CA.

chia init -c [CA_directory]

Copying your CA from chia-ca/ca to /root/.chia/mainnet/config/ssl/ca
/root/.chia/mainnet/config/ssl/ca/chia_ca.key
/root/.chia/mainnet/config/ssl/ca/private_ca.key
/root/.chia/mainnet/config/ssl/ca/private_ca.crt
/root/.chia/mainnet/config/ssl/ca/chia_ca.crt
Found private CA in /root/.chia/mainnet, using it to generate TLS certificates

4. Config harvester

chia configure -log-level INFO

chia configure -upnp false

5. 修改 config.yaml

vim ~/.chia/mainnet/config/config.yaml

...
harvester:
  chia_ssl_ca:
    crt: config/ssl/ca/chia_ca.crt
    key: config/ssl/ca/chia_ca.key
  farmer_peer:
    host: Main.Machine.IP
    port: 8447
...

6. Launch the harvester by running CLI

chia start harvester -r

7. 觀測

ps aux | grep chia

root      3895  3.3  0.2 192432 44528 pts/8    Sl   15:32   0:00 chia_daemon
root      3900  6.5  0.3 711200 51312 pts/8    Sl   15:32   0:00 chia_harvester

On harvester log

[time stamp] harvester chia.harvester.harvester: INFO
     0 plots were eligible for farming 1516e1d11a... Found 0 proofs. 
     Time: 0.00050 s. Total 6 plots
[time stamp] harvester harvester_server        : INFO
     -> farming_info to peer [harvester IP address] [peer id - 64 char hexadecimal]

On Main machine log

# 觀測 "eligible for farming 1516e1d11a..."

chia farm challenges

harvester log

2021-05-10T06:45:14.779 harvester chia.harvester.harvester: WARNING  Looking up qualities on 
 /home/chia/plots/plot1/plot-k32-?.plot 
 took: 22.325554847717285. This should be below 5 seconds to minimize risk of losing rewards.

 


Chia Keys Architecture

 

  • Chia 是 BLS-12-381 私鑰(32 bytes)
  • Private keys可以通過使用24個助記詞生成
  • Public keys 為 48 bytes
  • 密鑰派生的規範: EIP-2333 及 BIP 44

Master key

 - Farmer key
 - Pool key
 - wallet key

HD(Hierarchical Deterministi)c keys are a type of public key/private key scheme

where one private key can have a nearly infinite number of different public keys

 


HDD 與 SSD 的分別

 

# WD HC550 18T

 

# Samsung SSD 980 PRO 1TB

 


轉幣

 

send

chia wallet send [OPTIONS]

OPTIONS

# 由於有 Default 的 -i, 所以不設定都得
-i, --id INTEGER                Id of the wallet to use  [default: 1; required]
-f, --fingerprint INTEGER

#
-m, --fee TEXT                  Set the fees for the transaction, in XCH [default: 0; required]
-t, --address TEXT
-a, --amount TEXT

查看 Wallet ID 有幾多 xch

chia wallet show
Chia Wallet:
   -Total Balance:         ? xch (? mojo)
   -Pending Total Balance: ? xch (? mojo)
   -Spendable:             ? xch (? mojo)
   -Type:                  STANDARD_WALLET
   -Wallet ID:             1

i.e.

chia wallet send -a 1 -t xch???

Submitting transaction...
Transaction submitted to nodes: [{'peer_id': '???', 'inclusion_status': 'SUCCESS', 'error_msg': None}]
Run 'chia wallet get_transaction -f ??? -tx 0xTransactionID' to get status

Checking

# -f, --fingerprint INTEGER
# -i, --id INTEGER [Default: 1]

chia wallet get_transaction -f ??? -tx 0xTransactionID

Transaction TransactionID
Status: Confirmed                                      # Status: In mempool
Amount sent: 1 XCH
To address: xch1d8wz99v5hhd9faevhkw858hjclyayvayt2v3fl09vscnmzwnht7sn87ygg
Created at: 2022-11-07 12:53:36

chia wallet get_transactions -l 5

 


xch transaction fees

 

What fee should we use when sending xch to another Wallet?

0% is fine for now.(@2022-11)

Checking Fee:

https://www.graphchia.com/Transaction-Fees

Fees are only needed when transfer rates are above the block capacity, at the moment 0 fee is fine.

If congestion happens, fees are used to get you further up the queue.

All transactions are currently fitting in the next transaction block (only time it didn't was when transactions launched and that resolved itself quickly)

 


術語

 

Difficulty

Difficulty is a constant factor that can increase or decrease the number of iterations required for the proof of time.

If blocks are faster or slower than expected in the previous epoch

the difficulty is adjusted based on the formula in the Chia greenpaper.

This is used in order to target 32 blocks created every 10 minutes.

Unfinished

chia wallet show

The proof of space is used to create an "unfinished" block which is propagated on the Chia network™.

The block will remain unfinished until it obtains a proof of time - this is where timelords come into play.

Timelords

Timelords are notified when unfinished blocks are submitted to the network and

are able to then start working on a "proof of time".

This proof is achieved using something called a VDF (verifiable delay function)

which is a way of proving that an amount of time has been spent performing some work.

Weight

Cumulative difficulty since genesis.

The weight of a block is the sum of the difficulty of all blocks below it, including itself.

Difficulty & Weight

The number of VDF iterations that timelords must perform is influenced by a number known as "difficulty".

The purpose of this parameter is to maintain a consistent time between blocks.

Pools

Pools allow farmers to smooth out their rewards by earning based on proof of space partials, as opposed to winning blocks.

Pool public keys must be embedded into the plots themselves, so a pool cannot be changed unless the entire plot is recreated.

Farmers periodically send partials, which contain a proof of space and a signature, to pools.

XCH

最多可劃分為12個小數位

mojo

Chia Network Token的最小單位 (XCH 的萬億分之一)

Coin

All coins are generated as the output of a transaction or a coinbase reward or fee target.

A coin is spent exactly once, and is then permanently destroyed.

Each unspent coin is locked with a ChiaLisp program which is that coin 's puzzle.

Puzzle

~ public key

A ChiaLisp program which specifies the behaviour of a coin when it is spent.

 


Plot Speed Test

 

# On SSD: r=2 ~ 6.5 hrs

Time for phase 1 = 9473.973 seconds. CPU (147.420%) Sat May 15 21:07:29 2021
Time for phase 2 = 3856.080 seconds. CPU (98.250%) Sat May 15 22:11:45 2021
Time for phase 3 = 7362.852 seconds. CPU (96.850%) Sun May 16 00:14:28 2021
Time for phase 4 = 462.409 seconds. CPU (98.370%) Sun May 16 00:22:10 2021
Total time = 21155.315 seconds. CPU (119.780%) Sun May 16 00:22:10 2021

# On SSD 1 process: r=4 ~ 5.2 hrs

Time for phase 1 = 7733.071 seconds. CPU (201.280%) Wed May 19 16:59:09 2021
Time for phase 2 = 3947.310 seconds. CPU (99.070%) Wed May 19 18:04:57 2021
Time for phase 3 = 7357.722 seconds. CPU (98.650%) Wed May 19 20:07:34 2021
Time for phase 4 = 552.790 seconds. CPU (98.720%) Wed May 19 20:16:47 2021
Approximate working space used (without final file): 269.433 GiB
Total time = 19590.895 seconds. CPU (139.250%) Wed May 19 20:16:47 2021

# On HDD(HC550 18T) r=2 ~ 8.5 hrs

Time for phase 1 = 12723.803 seconds. CPU (114.640%) Sun May 16 17:11:08 2021
Time for phase 2 = 5844.414 seconds. CPU (74.340%) Sun May 16 18:48:33 2021
Time for phase 3 = 11254.684 seconds. CPU (68.460%) Sun May 16 21:56:07 2021
Time for phase 4 = 635.724 seconds. CPU (80.210%) Sun May 16 22:06:43 2021
Total time = 30458.628 seconds. CPU (89.130%) Sun May 16 22:06:43 2021

 


Join Pool

 

 * You can farm both OG and pooling plots on the same computer same time.

    ( 分別在於出糧方式: 2xch vs 0.25+1.75xch )

Join Pool 後獎金分配方式

0.25 XCH goes directly to the farmer that won that block(farmer target address=STANDARD_WALLET)

1.75 XCH is divided between the pool members

Address

  • 1) Farmer 的收入(chia farm summary)  # Payout instructions # pool 定時出糧的地方
  • 2) Pool 的收入                                    # Pool contract address -> Target address

Total Balance(chia wallet show) = "Payout instructions"(chia plotnft show) + "First wallet address"(chia keys show)

Pool 獎金

Each proof found will award you with difficulty points.

Each k32 plot will get on average 10 points per day, independent of what the difficulty is.

The pool to periodically reward you with XCH based on how many points you obtain, and then reset your points back to 0.

You can change pools as many times as you want, and there is no penalty or registration required for doing so.

Be aware that if you change pools, your old pool is not obligated to pay you anymore.

difficulty points

Each proof found will award you with difficulty points. Farmers with many plots will have a higher difficulty

Self Pooling

If you are self-pooling, you will additionally need to claim your rewards after winning a block.

chia plotnft claim           # Claim rewards from a plot NFT

 * There is no time limit for this, but if you do not claim your rewards before switching to a pool,

    the pool will be able to claim those rewards, and you will lose these funds.

1) upgrade chia to version > 1.2

chia stop all -d

pip install --upgrade chia-blockchain

chia version

1.2.0

2) 獲得 100 mojos (0.000000000001 XCH)

https://faucet.chia.net/

Each Pool NFT you create will require a minimum of 1 mojo (1 trillionth of a XCH) + transaction fee.

3) 等 chia_full_node 及 chia_wallet "Full Synced"

chia start farmer

chia show -s

Current Blockchain Status: Full Node Synced
...

chia wallet show

Wallet height: 1387106
Sync status: Synced
...

4) 選一個想 join 的 pool

https://chiapools.net/

5) 建立 plot NFT

Self Pooling

To create a plot NFT in self-farming mode, do

# -s, --state TEXT                Initial state of Plot NFT: local or pool [required]

chia plotnft create -s local

Remark

You can also change the pool that the Plot NFT is assigned to at any time.

Join Pool

chia plotnft create -s pool -u https://pool.xchpool.org

6) Verify

chia plotnft show

Wallet height: 663915
Sync status: Synced
Wallet id 2:
Current state: FARMING_TO_POOL
Current state from block height: 663725
Launcher ID: ...
Target address (not for plotting): xch...
Number of plots: 21
Owner public key: ...
Pool contract address (use ONLY for plotting - do not send money to this address): xch...
Current pool URL: https://asia.xchpool.org
Current difficulty: 1
Points balance: 7
Percent Successful Points (24h): 100.00%
Relative lock height: 100 blocks
Payout instructions (pool will pay to this address): ...

7) 建立 plot

# 使用官方 tools

# -c, --pool_contract_address TEXT     # 可用 `chia plotnft show` 查看

# -f, --farmer_public_key TEXT           # 可用 `chia keys show` 查看

chia plots create -c $pc -f $fk -t $tmp -d $dst

8) Other Command

# To switch/join pools, you can use

chia plotnft join -i 2 -u https://farm.pool.garden

# To leave a pool (switch to self farming)

# -i, --id INTEGER                ID of the wallet to use  [required]

chia plotnft leave -i 2            # 要用 POOLING_WALLET, 一般它都是 "id: 2"

Will start self-farming with Plot NFT on wallet id 2 fingerprint NNNN.
Confirm [n]/y: y
Transaction submitted to nodes: [('SSSS', 1, None)]

# 查看 join pool 的進度

# -f          Set the fingerprint to specify which wallet to use

# -tx        transaction id to search for. 這裡的不是 "To address"

chia wallet get_transaction -f NNNN -tx 0xSSSS

Transaction SSSS
Status: In mempool
Amount: 1E-12 xch
To address: xchXXXX
Created at: 2021-07-11 19:04:43

# Pool 的 Web Panel Login

chia plotnft get_login_link -l "your launcher id here, with 0x"

Switch pool

new plot format allows you to switch between pools and self-pooling with a cooldown of ~30 minutes (100 blocks) between each switch.

Each switch between pools will require a transaction with a smart contract on the blockchain.

(Fee is used TWICE: once to leave pool, once to join.)

查看收入

Pooling 的收入

chia wallet get_transactions [-i 1]

Transaction SSSS
Status: Confirmed
Amount received: 0.01031356303 xch
To address: First_Wallet_Address
Created at: 2021-11-12 02:38:55

Amount received = Pool minimum payout treshol

Self Pooling 的收入

Wallet ID 2 type POOLING_WALLET Pool wallet <- 1.75

When setting up the Pool NFT => a Pool wallet was created.

If you are a pool operator, or if you are an individual who is self farming your NFT plot against your own personal “pool”,

this is the special wallet for the 1.75 XCH portion goes, that you periodically need to claim out of that wallet.

If you are farming in a pool run by someone else, then typically this wallet will always stay empty
(Also this wallet’s hash is the identifier your NFT is tied to)

Difficulty

Difficulty is a constant factor that can increase or decrease the number of iterations required for the proof of time. If blocks are faster or slower than expected in the previous epoch the difficulty is adjusted based on the formula in the Chia greenpaper. This is used in order to target 32 blocks created every 10 minutes.

The difficulty allows the pool operator to control how many partials per day they are receiving from each farmer.
A reasonable target would be 300 partials per day, to ensure frequent feedback to the farmer, and low variability.

A difficulty of 1 results in approximately 10 partials per day per k32 plot.
If the farmer submits a proof that is not good enough for the current difficulty, the pool should respond by setting the current_difficulty in the response.

When a block is found by the farmer, the pool portion of the block rewards (7/8, or 1.75XCH) go into the singleton, and when claimed, go directly to the pool's target address.

The farmer can also configure their payout instructions, so that the pool knows where to send the occasional rewards to.

[Solo -> Pool]

plot: pool_public_key -> pool_contract_address

pool_contract_address = address of a chialisp contract (called a singleton)

[Join Pool]

pool information of the pool -> singleton

[block is found by the farmer in pool]

claimed singleton ->  pool's target address.

Trace "Pool contract address"

在同一個 "Height confirmed"

  • 有 Farmer reward(0.25) 及 Pool reward(1.75)
    (First wallet address, Pool contract address)

在同一個 "Height spent":

  • Additions 有 Target address
  • Removals 有 Pool contract address

Plot ID

A plot ID is a 32-byte value that is used as a deterministic seed to create an entire plot.
(In other words, two plots with the same plot ID will create byte-identical plot files.)

Plot IDs are public values

plot ID = SHA256(pool contract puzzle hash hash, plot pk)

rewards go straight into the puzzle hash (or address), that is encoded into the plot.

This address is a smart contract controlled by the user, which specifies the user's current pool.

The user can switch pools, with a timeout delay that the pool operator may customize (typically 30 minutes).

This approach requires creating a blockchain transaction of at least one mojo before farming.

 


singleton points

 

singleton: a smart coin (contract) that guaranteed to be unique and controlled by the user.

singleton_genesis: unique ID of the singleton.

points: represent the amount of farming that a farmer has done.
        It is calculated by number of proofs submitted, weighted by difficulty.
        One k32 farms 10 points per day.(ie. 10 TiB = 1000 point)

 


chia-plotter

 

特點:

  • 支援 RAM disk, 而且有 75%的寫入是在ram disk 發生 (要有 110G 才可以用 RAM Disk 功能)
  • Ctrl-C for graceful termination or double press Ctrl-C to terminate immediately

HomePage:

https://github.com/madMAx43v3r/chia-plotter

Build on Ubuntu 20.04

apt install -y libsodium-dev cmake g++ git build-essential

# Checkout the source and install

git clone https://github.com/madMAx43v3r/chia-plotter.git

cd chia-plotter

git submodule update --init

./make_devel.sh

./build/chia_plot --help

Update to latest version

cd chia-plotter

git checkout master

git pull

git submodule update --init

./make_devel.sh

 


Encrypt Private Key

 

# Setting or updating a passphrase for .chia_keys/keyring.yaml

chia passphrase set

version: 1
nonce:
data:
salt:
passphrase_hint:

 * This will prompt for keyring migration as necessary.

# Add hint

chia passphrase hint set ""          # 要 Unlock Keyring

chia passphrase hint display

P.S.

加密了 key 後, start farmer 要入 key

chia start farmer

Daemon not started yet
Starting daemon
(Unlock Keyring) Passphrase:
Unlocking daemon keyring
chia_harvester: started
...

 


Changelog

 

V.1.6.1@

  • Wallet labeling(chia keys label)
  • chia peer (replace "chia show -c")
  • Added beta logging state

V.1.6.0@

  •  

V1.5@20220726

  •  

V1.4@20220629

  • support for NFTs (chia wallet nft, chia wallet did)