> For the complete documentation index, see [llms.txt](https://bitlong.gitbook.io/api-doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bitlong.gitbook.io/api-doc/lnd-api/btc-address/di-zhi-xin-xi.md).

# 地址信息

### 地址信息结构体

```go
type Addr struct {
	Name           string `json:"name"`
	Address        string `json:"address"`
	Balance        int    `json:"balance"`
	AddressType    string `json:"address_type"`
	DerivationPath string `json:"derivation_path"`
	IsInternal     bool   `json:"is_internal"`
}
```

* 名称
* 地址
* 余额
* 地址类型
* 派生路径
* 是否内部生成

### `GetNewAddress_P2TR`获取地址1 <a href="#id-1-huo-qu-di-zhi-1getnewaddressp2tr" id="id-1-huo-qu-di-zhi-1getnewaddressp2tr"></a>

```go
func GetNewAddress_P2TR() string
```

地址类型: TAPROOT\_PUBKEY

生成一个**主根地址**(Pay-to-Taproot)\
会保存在**lnd节点**中，但**不会保存**在`phone.db`中

#### 示例

```
{"success":true,"error":"","data":{"name":"default","address":"tb1pkxgej5esme0wyqwu7lxcual9ez9et3gngzyyldlwznrhuwqnm7dsjgj2g2","balance":0,"address_type":"TAPROOT_PUBKEY","derivation_path":"m/86'/0'/0'","is_internal":false}}
```

### `GetNewAddress_P2WKH`获取地址2 <a href="#id-2-huo-qu-di-zhi-2getnewaddressp2wkh" id="id-2-huo-qu-di-zhi-2getnewaddressp2wkh"></a>

```go
func GetNewAddress_P2WKH() string
```

地址类型: WITNESS\_PUBKEY\_HASH

生成一个**隔离见证地址**(Pay-to-Witness-Key-Hash)\
会保存在**lnd节点**中，但**不会保存**在`phone.db`中

#### 示例

```
{"success":true,"error":"","data":{"name":"default","address":"tb1q2me3zdxztxq6cxh4mymma6kjdnk87lqv806dyt","balance":0,"address_type":"WITNESS_PUBKEY_HASH","derivation_path":"m/84'/0'/0'","is_internal":false}}
```

### `GetNewAddress_NP2WKH`获取地址3 <a href="#id-3-huo-qu-di-zhi-3getnewaddressnp2wkh" id="id-3-huo-qu-di-zhi-3getnewaddressnp2wkh"></a>

```go
func GetNewAddress_NP2WKH() string
```

地址类型: NESTED\_PUBKEY\_HASH

生成一个**嵌套隔离见证地址**(Nested-Pay-to-Witness-Key-Hash)\
会保存在**lnd节点**中，但**不会保存**在`phone.db`中

#### 示例

```
{"success":true,"error":"","data":{"name":"default","address":"2N8QN3LT9sqeoyKHNC2LtoCmuxJAJLbSzHW","balance":0,"address_type":"NESTED_PUBKEY_HASH","derivation_path":"m/49'/0'/0'","is_internal":false}}
```

### `StoreAddr`存储地址 <a href="#id-4-cun-chu-di-zhi-storeaddr" id="id-4-cun-chu-di-zhi-storeaddr"></a>

```go
func StoreAddr(name string, address string, balance int, addressType string, derivationPath string, isInternal bool) string
```

将一个**地址**及其**余额**和**类型**存储在**本地**文件数据库 `phone.db` 中

地址类型应为以下三种之一：

* `TAPROOT_PUBKEY`
* `WITNESS_PUBKEY_HASH`
* `NESTED_PUBKEY_HASH`

### `RemoveAddr`移除地址 <a href="#id-5-yi-chu-di-zhi-removeaddr" id="id-5-yi-chu-di-zhi-removeaddr"></a>

```go
func RemoveAddr(address string) string
```

将一个存储在**本地**文件数据库 `phone.db`中的地址信息移除

### `QueryAddr`查询地址 <a href="#id-6-cha-xun-di-zhi-queryaddr" id="id-6-cha-xun-di-zhi-queryaddr"></a>

```go
func QueryAddr(address string) string
```

查询一个存储在**本地**文件数据库 `phone.db` 中的地址信息

### `QueryAllAddr`查询所有地址 <a href="#id-7-cha-xun-suo-you-di-zhi-queryalladdr" id="id-7-cha-xun-suo-you-di-zhi-queryalladdr"></a>

```go
func QueryAllAddr() string
```

查询存储在**本地**文件数据库`phone.db`中的所有地址信息

#### 示例

```
{"success":true,"error":"","data":[{"name":"default","address":"tb1pjql0fr6vmq80uh02g20c8zrwnm0ln53mmt4y6shlahkhmny3cd2quxx5ar","balance":24782,"address_type":"TAPROOT_PUBKEY","derivation_path":"m/86'/0'/0'","is_internal":false},{"name":"default","address":"tb1ptc7a4nx7qctzmc29n9e2590gevrf9euduqxvsglukd8hhgumpn9qtlatqe","balance":5637,"address_type":"TAPROOT_PUBKEY","derivation_path":"m/86'/0'/0'","is_internal":false}]}

```

### `GetNonZeroBalanceAddresses`从lnd节点中获取所有非零余额地址 <a href="#id-8-cong-lnd-jie-dian-zhong-huo-qu-suo-you-fei-ling-yuedi-zhi-getnonzerobalanceaddresses" id="id-8-cong-lnd-jie-dian-zhong-huo-qu-suo-you-fei-ling-yuedi-zhi-getnonzerobalanceaddresses"></a>

```go
func GetNonZeroBalanceAddresses() string
```

查询所有保存在**lnd节点**中的地址信息，查询获取其中非零余额的地址信息

#### 示例

```
{"success":true,"error":"","data":[{"name":"default","address":"tb1pjql0fr6vmq80uh02g20c8zrwnm0ln53mmt4y6shlahkhmny3cd2quxx5ar","balance":24782,"address_type":"TAPROOT_PUBKEY","derivation_path":"m/86'/0'/0'","is_internal":false},{"name":"default","address":"tb1ptc7a4nx7qctzmc29n9e2590gevrf9euduqxvsglukd8hhgumpn9qtlatqe","balance":5637,"address_type":"TAPROOT_PUBKEY","derivation_path":"m/86'/0'/0'","is_internal":false}]}
```

### `UpdateAllAddressesByGNZBA`通过查询到的非零余额地址来更新地址 <a href="#id-9-tong-guo-shang-yi-ge-api-lai-geng-xin-di-zhi-updatealladdressesbygnzba" id="id-9-tong-guo-shang-yi-ge-api-lai-geng-xin-di-zhi-updatealladdressesbygnzba"></a>

```go
func UpdateAllAddressesByGNZBA() string
```

通过查询所有保存在**lnd节点**中的非零余额的地址信息，只保留`Name`&#x4E3A;*"default"*&#x5E76;且非内部生成的地址而排除其他的结果，更新存储在**本地**文件数据库 `phone.db` 中的地址信息，即将这些查询到的信息插入或更新到 `phone.db` 中。
