Algorand Node with Goracle【English & 日本語】

## Introduction
:::note
This article is about setting up an Algorand node on an existing Goracle node. This allows the Goracle node to use Algorand APIs and RPCs internally without relying on external services.

Furthermore, detailed explanations are provided to familiarize operators with Linux, blockchain, and oracles as much as possible. I hope that this will be helpful to everyone.

@Moon1215i

If you are interested in Goracle, please follow me on Twitter:
https://twitter.com/Moon1215i

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
この記事では、GoracleノードにAlgorandノードを統合することで、GoracleノードがAlgorandのAPIやRPCを外部に依存することなく自立的に使用できるようになることが述べられています。

またできるだけオペレーターがLinuxやブロックチェーン、オラクルに馴染んでいただくために、解説を詳しくしています。皆さんのお役に立てることを願っています。

@Moon1215i

もしGoracleに興味がある場合は、Twitterで私をフォローしてください。
https://twitter.com/Moon1215i
</details>
:::

**Official Recommended Site 公式推薦サイト**

https://qiita.com/Moon1215i/items/72d7d98d3a2269f177ef

**Official Site Reference 参照した公式サイト**

https://developer.algorand.org/docs/run-a-node/setup/install/#installation-with-a-package-manager

https://docs.goracle.io/technical-documentation/

**Unofficial Site Reference 参照した非公式サイト**
* [Goracle Node Guide](https://teletype.in/@ttimmatti/goracle-node "Goracle Node Guide")
* [Tutorial — How to install a Algorand node — Testnet and Config the Goracle On same VPS.](https://medium.com/@subhamgurjar21091995/tutorial-how-to-install-a-algorand-node-testnet-and-config-the-goracle-on-same-vps-f520420af73e "Tutorial — How to install a Algorand node — Testnet and Config the Goracle On same VPS.")
* [How to install Algorand Node in your VPS.](https://docs.singopedia.my.id/ "How to install Algorand Node in your VPS.")

## 1. Install Required Packages on Ubuntu
**1. Ubuntuに必要なパッケージをインストール**
```sh:1
sudo apt update
sudo apt install -y gnupg2 curl software-properties-common
```
This command can be executed on `Linux distributions` such as `Ubuntu` and `Debian`. Here are the details:

* Description: This is a command to install necessary packages.
* Command name: `sudo apt install`
* Options:
    * `-y`: Skips the package installation confirmation and automatically answers "Yes" to all questions.
* Package names:
    * `gnupg2`: Version 2 of the GnuPG package. It is a toolset for encrypting and signing data using public-key cryptography.
    * `curl`: A tool for manipulating URLs from the command line.
    * `software-properties-common`: A tool for managing software repositories.


<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
このコマンドはUbuntuやDebianなどのLinuxディストリビューションで実行することができます。以下のとおりです。

* 説明：必要なパッケージをインストールするためのコマンドです。
* コマンド名：`sudo apt install`
* オプション：
    * `-y`：パッケージのインストール確認を省略し、全ての質問に自動的に"Yes"を答えます。
* パッケージ名：
    * `gnupg2`：`GnuPG`パッケージのバージョン2です。公開鍵暗号方式を利用して、データの暗号化や署名を行うためのツールセットです。
    * `curl`：コマンドラインからURLを操作するためのツールです。
    * `software-properties-common`：ソフトウェアのリポジトリを管理するためのツールです。
</details>

## 2. Acquiring Algorand Public Key
**2. Algorand公開鍵の取得**
```sh:2
curl -o - https://releases.algorand.com/key.pub | sudo tee /etc/apt/trusted.gpg.d/algorand.asc
```
This command downloads the `GPG key` from the official Algorand release and adds it to the system's list of trusted GPG keys. Specifically, it performs the following actions:

1. Download Algorand's public key.
1. Save the downloaded key to `/etc/apt/trusted.gpg.d/algorand.asc`.
1. Add the key to the system's list of trusted GPG keys.

This command is used to obtain the Algorand public key. The Algorand public key is a key required to use the Algorand repository, and it needs to be added before installing.

This command downloads the Algorand public key from `https://releases.algorand.com/key.pub` and saves it to `/etc/apt/trusted.gpg.d/algorand.asc` using the `sudo tee` command. This allows the system to verify that packages from the Algorand repository are trustworthy. Additionally, GPG keys are used to verify the authenticity of software packages.

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
このコマンドは、Algorandの公式リリースからGPG鍵をダウンロードし、システムの信頼できる`GPG鍵`リストに追加します。具体的には、以下の処理を行います。

1. Algorandの公開鍵をダウンロード
1. ダウンロードした鍵を`/etc/apt/trusted.gpg.d/algorand.asc`に保存
1. システムの信頼できるGPG鍵リストに追加

このコマンドは、Algorand公開鍵を取得するためのものです。Algorand公開鍵は、Algorandのリポジトリを使用するために必要な鍵であり、インストールする前にこの鍵を追加する必要があります。

このコマンドは、`https://releases.algorand.com/key.pub`からAlgorandパブリックキーをダウンロードし、`sudo tee`コマンドを使用して`/etc/apt/trusted.gpg.d/algorand.asc`に保存します。これにより、Algorandリポジトリのパッケージが信頼できるものであることをシステムが確認できるようになります。

</details>

![Screenshot by Dropbox Capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307384/5f269f50-8ff8-d9e2-4b5c-f3381d10bd26.png)

## 3. Add Algorand Repository to Ubuntu
**3. AlgorandのリポジトリをUbuntuに追加**
```sh:3
sudo add-apt-repository "deb [arch=amd64] https://releases.algorand.com/deb/ stable main"
sudo apt update
```
These two commands are used to add the Algorand repository to Ubuntu. The first command downloads and installs the `GPG key` associated with the Algorand repository. The second command updates the Ubuntu package list so that Ubuntu can download packages from the Algorand repository.

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
上記の2つのコマンドは、UbuntuにAlgorandのリポジトリを追加するために使用されます。最初のコマンドは、Algorandリポジトリに関連する`GPG鍵`をダウンロードしてインストールします。2番目のコマンドは、UbuntuがAlgorandリポジトリからパッケージをダウンロードできるように、Ubuntuパッケージリストを更新します。
</details>

![Screenshot by Dropbox Capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307384/cf84c4af-f192-d808-b700-67f3b70bf5f7.png)


## 4. Install Algorand Development Tools
**4. Algorand開発ツールのインストール**
```sh:4
sudo apt install -y algorand-devtools
```
This command installs the development tools necessary to develop applications related to the Algorand blockchain. Before running this command, you need to add the Algorand repository first.

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
このコマンドは、Algorandブロックチェーンに関するアプリケーションを開発するために必要な開発ツールをインストールします。このコマンドを実行する前に、先にAlgorandリポジトリを追加する必要があります。
</details>


![Screenshot by Dropbox Capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307384/712696f9-4f7d-0417-48a8-44b801194999.png)

## 5. Check Algorand node version
**5. Algorand nodeのバージョン確認**

```sh:5
algod -v
```
This command is used to check the version of the Algorand node. "algod" is the official node software of Algorand.
<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
このコマンドは、Algorand nodeのバージョンを確認するために使用されます。"algod"は、Algorandの公式ノードソフトウェアです。
</details>

![Screenshot by Dropbox Capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307384/29aa3f4f-757d-a6ac-403b-2ab90277f857.png)

:::note
These commands will install and configure `algod` as a service and place the algorand binaries in the `/usr/bin` directory. These binaries will be in the path so the `algod` and `goal` commands can be executed from anywhere. Additionally, every node has a data directory, in this case, it will be set to `/var/lib/algorand`.

This install defaults to the Algorand MainNet network. See [switching networks](https://developer.algorand.org/docs/run-a-node/operations/switch_networks/ "Switch Networks") for details on changing to another network.

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
これらのコマンドは、`algod`をサービスとしてインストールおよび構成し、algorandのバイナリを`/usr/bin`ディレクトリに配置します。これらのバイナリはパスに含まれるため、`algod`および`goal`コマンドをどこからでも実行できます。さらに、各ノードにはデータディレクトリがあります。この場合、データディレクトリは`/var/lib/algorand`に設定されます。
</details>

:::

## 6. Switch Algorand node to TestNet
**6. Algorandノードのテストネットへの変更**

https://developer.algorand.org/docs/run-a-node/operations/switch_networks/

:::note
In order for the Algorand blockchain network to function correctly when new nodes join, it is necessary to define the initial state of the blockchain. Algorand uses a `Genesis` file to define this initial state.

The Genesis file is a `JSON` file that defines the first block added to the Algorand network. It describes the initial state of the network, including the hash value of the first block added, the transactions and addresses contained in that block, and other details.

Algorand has multiple Genesis files, each for a different network, such as `MainNet`, `TestNet`, and `Betanet`. By switching between these Genesis files, nodes can join different networks.

Additionally, in Algorand, changing the Genesis file that defines the state of the network can cause a fork in the blockchain.

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
アルゴランドのブロックチェーンネットワークは、新しいノードが参加しても正しく動作するように、最初にブロックチェーンの状態を定義する必要があります。この初期の状態を定義するために、アルゴランドでは`Genesis`ファイルが使用されます。

Genesisファイルは、`JSON`形式で記述されたファイルで、アルゴランドのネットワークに参加する最初のブロックを定義します。つまり、最初に追加されるブロックのハッシュ値や、そのブロックに含まれるトランザクションやアドレスなど、ネットワークの最初の状態が記述されています。

アルゴランドでは、複数のGenesisファイルがあります。例えば、`MainNet`、`TestNet`、`Betanet`など、それぞれ異なるネットワークのGenesisファイルが存在します。これらのGenesisファイルを切り替えることで、異なるネットワークに参加することができます。

また、アルゴランドでは、ネットワークの状態を定義するGenesisファイルを変更することで、ブロックチェーンのフォークを発生させることもできます。
</details>

![Screenshot by Dropbox Capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307384/ebe02c1f-0a1e-d41d-2fcf-a25544aa0497.png)

:::

```sh:6
sudo systemctl stop algorand
sudo cp /var/lib/algorand/genesis/testnet/genesis.json /var/lib/algorand/
```
This command is used to switch the network of an Algorand node. If the Algorand node is already running, it needs to be stopped before switching the network. However, if the node is already stopped, you can skip this command. Next, the `genesis.json` file for the testnet is copied to the default directory of the Algorand node.

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
このコマンドは、Algorandノードの実行を停止するために使用されます。ネットワークを切り替える前に、Algorandノードを停止する必要があります。次に、テストネット用の`genesis.json`ファイルをAlgorandノードのデフォルトディレクトリにコピーします。
</details>

![Screenshot by Dropbox Capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307384/b1709c73-8a71-56a7-657b-a039ea4624e5.png)

## 7. Restarting Algorand Node on TestNet
**7. テストネットでアルゴランドノードの再起動**

```sh:7
sudo systemctl start algorand
goal node status -d /var/lib/algorand
```
This command is used to start an Algorand node that has been switched from the mainnet to the testnet, and to check its status. First, run `sudo systemctl start algorand` to start the Algorand node. 

Then, run `goal node status -d /var/lib/algorand` to check the status of the node. This command allows you to confirm whether the node has started up successfully and is able to participate in the network.

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
このコマンドは、メインネットからテストネットへ切り替えたAlgorandノードを起動し、そのステータスを確認するために使用されます。まず、Algorandノードを起動するために、`sudo systemctl start algorand`を実行します。

次に、`goal node status -d /var/lib/algorand`を実行して、ノードのステータスを確認します。このコマンドを使用することで、ノードが正常に起動し、ネットワークに参加できているかどうかを確認することができます。
</details>

![Screenshot by Dropbox Capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307384/7be13cc6-4051-01c7-cfeb-d3926a646a79.png)

## 8. Fast Sync Algorand Node to TestNet
**8. アルゴランドノードのテストネットへの高速同期**

`Fast Sync` is one of the methods for Algorand nodes to synchronize with the blockchain quickly and accurately. Instead of retrieving existing blockchain data, the node downloads the latest blockchain data from the network to speed up synchronization. This allows new nodes to join the network and reduces the node's startup time.

**Please copy and paste the following command into your terminal and press Enter to execute it.**

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
`Fast Sync`は、Algorandノードが高速で正確なブロックチェーン同期を行うための手法の一つです。ノードが既存のブロックチェーンデータを取得する代わりに、ネットワークから最新のブロックチェーンデータをダウンロードすることで同期を高速化します。これにより、新しいノードをネットワークに参加させることができ、ノードの起動時間を短縮することができます。

**以下のコマンドをコピーしてターミナルに貼り付け、Enterキーを押して実行してください。**
</details>

#### Fast Sync
```sh:8-1
printf "\n\033[0;33m=== Fast Sync Algorand Node to TestNet ===\033[0m\n\n" && \
goal node catchup $(curl -s https://algorand-catchpoints.s3.us-east-2.amazonaws.com/channel/testnet/latest.catchpoint) -d /var/lib/algorand/ && \
printf "Done.\n\n"
```

These commands are used to set up a local node that operates on Algorand's TestNet. First, the latest catchpoint is downloaded and the local Algorand node is synchronized. 

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
これらのコマンドは、AlgorandのTestNetで動作するローカルノードを設定するために使用されます。最初に最新のキャッチポイントをダウンロードし、ローカルのAlgorandノードを同期させます。
</details>

:::note
A new option can facilitate a status watch, `-w` which takes a parameter of time, in milliseconds, between two successive status updates. This will eliminate the need to repeatedly issue a status manually. Press `Control + C` to exit the watch.

```
goal node status -w 1000 -d /var/lib/algorand
# Press `Control + C` to exit the watch
```
![Screenshot by Dropbox Capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307384/e6d04743-f4fd-cd2f-d445-ba9069020b23.png)
Notice that the 5 Catchpoint status lines will disappear when completed, and then only a few more minutes are needed to sync from that point to the current block. **Once there is a Sync Time of 0, the node is synced and if fully usable.**
:::

#### Configure and Display Status

```sh:8-2
ALGOD_TOKEN=$(cat /var/lib/algorand/algod.token) && \
ALGOD_NET="http://$(cat /var/lib/algorand/algod.net)" && \
printf "\n\033[0;33m==== Your algod.token ====\033[0m\n\n%s\n\n\033[0;33m==== Your algod.net ====\033[0m\n\n%s\n" "$ALGOD_TOKEN" "$ALGOD_NET" && \
cat ~/.goracle | jq -S > ~/.goracle_new && mv ~/.goracle_new ~/.goracle && \
sed -i '/"authKey":.*/d' ~/.goracle  && \
sed -i '/"authHeader":.*/d' ~/.goracle  && \
sed -i 's#"server":.*#"server": "'"$ALGOD_NET"'",#' ~/.goracle  && \
sed -i 's#"token":.*#"token": "'"$ALGOD_TOKEN"'"#' ~/.goracle && \
printf "\n\033[0;33m=== This is your current ~/.goracle file ===\033[0m\n\n$(cat ~/.goracle)\n" && \
printf "\n\033[0;33m=== Getting Algorand node status ===\033[0m\n\n$(goal node status -d /var/lib/algorand)\n\n"
```

Then, the token and node URL are read from the `algod.token` and `algod.net` files and set to their respective fields in the `~/.goracle` file. The `authKey` and `authHeader` fields are then removed. Finally, the `goal node status` command is used to display the state of the local node.

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
次に、`algod.token`と`algod.net`ファイルからトークンとノードのURLを読み取り、それらを`~/.goracle`ファイルの該当するフィールドに設定します。そして、`authKey`と`authHeader`フィールドは削除されます。最後に、`goal node status`コマンドを使用して、ローカルノードの状態を表示します。
</details>

![Screenshot by Dropbox Capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307384/0a2a9403-b230-0656-b9c4-302c026b60fd.png)



:::note
The `algod.token` and `algod.net` files are configuration files for the Algorand node software, specifically the algod component.

The `algod.token` file contains an authentication token that is used to access certain API endpoints on the algod server. This token is generated automatically by the algod software and is stored in this file.

The `algod.net` file specifies the network address and port number that the algod server will listen on for incoming API requests. In this case, the address is set to `127.0.0.1`, which means that the algod server will only accept requests from the local machine, and the port number is set to `8080`.
<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
`algod.token`ファイルと`algod.net`ファイルは、Algorandノードソフトウェアの構成ファイルであり、特にalgodコンポーネントに関連しています。

`algod.token`ファイルには、algodサーバー上の特定のAPIエンドポイントにアクセスするために使用される認証トークンが含まれています。このトークンは、algodソフトウェアによって自動的に生成され、このファイルに保存されます。

`algod.net`ファイルは、algodサーバーがAPIリクエストを受信するためにリッスンするネットワークアドレスとポート番号を指定します。この場合、アドレスは`127.0.0.1`に設定されており、これはalgodサーバーがローカルマシンからのリクエストのみを受け付けることを意味し、ポート番号は`8080`に設定されています。</details>
:::

## 9. Restarting Algorand Node
**9. アルゴランドノードの再起動**

```sh:9
sudo systemctl restart algorand && \
sleep 10 && \
goal node status -d /var/lib/algorand
```

The first command, `sudo systemctl restart algorand`, restarts the Algorand system service. This restarts the Algorand node and updates its configuration.　The next command allows you to check whether the Algorand node has started properly and is synchronized.

Please confirm that the `sync time` is `0.0s`. If it is not `0.0s`, please run `goal node status -d /var/lib/algorand` occasionally and wait until it becomes `0.0s`.

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
最初のコマンド`sudo systemctl restart algorand`は、Algorandのシステムサービスを再起動します。このコマンドにより、Algorandノードが再起動され、ノードの設定が更新されます。次のコマンドで、Algorandノードが正常に起動し、同期されているかどうかを確認できます。

`Sync Time: 0.0s`であることを確認してください。もし`0.0s`でない場合は、時々`goal node status -d /var/lib/algorand`を実行して、`0.0s`になるまで待ってください。
</details>

![Screenshot by Dropbox Capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307384/ebfd9020-daef-720b-ba63-83d19e2b474b.png)


## 10. Restarting Goracle Node
**10. ゴラクルノードの再起動**
```sh:10
#!/bin/bash

GORACLE="$HOME/goracle"
if [ ! -f "$GORACLE" ]; then
    cd ~/
    wget https://staging.dev.goracle.io/downloads/latest-staging/goracle
    chmod u+x "$GORACLE"
fi && \
sleep 5 && \
./goracle docker-stop && \
sleep 5 && \
./goracle docker-start --background && \
sleep 3 && \
docker logs -f goracle-nr
```
This command stops the Docker container by running `./goracle docker-stop`, waits for `5 seconds`, and then starts the container in the background by running `./goracle docker-start --background`.

Then, it waits for `3 seconds` and runs `docker logs -f goracle-nr` to display the logs of the specified Docker container in real-time. The `&&` is used to execute the next command only if the previous command is **successful**. Each `sleep` command is used to wait for the specified number of seconds.

Additionally, if the `goracle` file does not exist in the `$HOME` directory, the script downloads it from `https://staging.dev.goracle.io/downloads/latest-staging/goracle`, saves it in `$HOME/goracle`, and grants it execution permission before executing the above commands.

<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
このコマンドは、`./goracle docker-stop`を実行してDockerコンテナを停止し、`5秒間`待機してから`./goracle docker-start --background`を実行します。その後、`3秒`待機してから、`docker logs -f goracle-nr`を実行します。

`&&`は、前のコマンドが成功した場合にのみ、次のコマンドを実行するために使用されます。それぞれの`sleep`コマンドは、指定された秒数だけ待機するために使用されます。

最後の`docker logs -f goracle-nr`コマンドは、指定されたDockerコンテナのログをリアルタイムで表示するために使用されます。`-f`フラグは、ログの末尾を追跡するために使用されます。

また`$HOME`ディレクトリに`goracle`が存在しない場合に、`https://staging.dev.goracle.io/downloads/latest-staging/goracle`からダウンロードし、`$HOME/goracle`に保存して実行権限を与え、上記のコマンドを実行します。
</details>

![Screenshot by Dropbox Capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307384/cad28df5-7f23-a713-d6c4-b06012147565.png)


## 11. Uninstall and Reinstall Algorand Node for Unstable Performance
**11. Algorandノードが動作が不安定な時にするアンインストールと再インストール**

If you encounter any issues with the operation of the Algorand node, you can uninstall and reinstall it.

Before uninstalling the Algorand node, it is important to stop the node. If the Algorand node is still running, it may be writing data. Stopping the node before uninstalling can prevent data corruption or loss. You can stop the node by using the following command:

```sh:11-1
sudo systemctl stop algorand
```

To completely remove the Algorand package and all associated files, settings, and data from the system, use the following command:

```sh:11-2
sudo apt purge algorand
```

Note that this is a powerful command and should be used with caution, as it will delete all data associated with the node.

To reinstall the Algorand package, use the following command:

```sh:11-3
sudo apt install algorand
```

This command will reinstall the Algorand node and create necessary files and settings. However, the node's configuration files may retain previous data and settings.

Once the installation is complete, proceed to **[Step 6 in the Switch Algorand Node to TestNet](https://qiita.com/Moon1215i/items/eb4f40c2337ae9b7bf0f#6-switch-algorand-node-to-testnet)**　guide and execute the subsequent commands.
<details><summary>【日本語】</summary>

<!--(上に空行が必要)-->
Algrandノードの動作に不具合があると思われる場合には、アルゴランドノードをアンインストールして、再インストールすることができます。

Algorandノードをアンインストールする前には、ノードを停止してから実行することが重要です。Algorandノードが実行されている場合、ノードがデータを書き込んでいる可能性があります。そのため、ノードを停止してからアンインストールを実行することで、データの破損や損失を防止することができます。ノードを停止する方法は、以下のコマンドを使用することで実行できます。

```sh:11-1
sudo systemctl stop algorand
```

次に、システムからAlgorandパッケージを完全に削除するために次のコマンドを実行します。

```sh:11-2
sudo apt purge algorand
```

このコマンドを実行すると、Algorandノードに関連するすべてのファイル、設定、およびデータが削除されます。注意してください、これは非常にパワフルなコマンドで、ノードのデータが完全に削除されるため、慎重に使用する必要があります。

そしてAlgorandパッケージを再インストールするために、次のコマンドを実行します。

```sh:11-3
sudo apt install algorand
```

このコマンドを実行すると、Algorandノードが再インストールされ、必要なファイルと設定が作成されます。ただし、ノードの設定ファイルによっては、以前のデータや設定が引き継がれることがあります。

インストールが終わったら、**[6.Switch Algorand node to TestNet](https://qiita.com/Moon1215i/items/eb4f40c2337ae9b7bf0f#6-switch-algorand-node-to-testnet)** に戻って以降のコマンドを実行してください。
</details>

<!--
## `.goracle`を新規に作成する場合

```
cd
./goracle init
```

```s
GoraGang@Goracle:~$ ./goracle init
Goracle CLI tool, version 1.0.22
Config file "/home/GoraGang/.goracle" already exists, it reuse? [y/N]? y
This will create a new Goracle Node Runner configuration.
Before you continue, make sure that you have your Algorand node connection
details handy and you are ready to visit Goracle website to initialize
your Goracle participation account using your Algorand wallet.
Continue? [y/N]? y
Use Algonode Algorand API service (recommended)? [Y/n]? n
Use a Purestake account for Algorand API service? [y/N]? n
Enter full Algorand node API URL (e.g. http://example.com:4001): http://127.0.0.1:8080  
```
-->

# Author
:::note
@Moon1215i 

If you are interested in Goracle, please follow me on Twitter:

https://twitter.com/Moon1215i

It would be great if I could receive a comment on Twitter, even just a few words.

![Screenshot by Dropbox Capture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307384/44dfe685-89aa-9466-edb3-5f26e2518848.png)
:::