# 入门

## 安装

```typescript
npm i aftermath-ts-sdk
```

### 使用方法 <a href="#shi-yong-fang-fa" id="shi-yong-fang-fa"></a>

创建一个 Aftermath 实例，以便于调用我们的服务器，或创建一个 Aftermath API 实例，以便更精细地控制事务构建。

## Aftermath SDK <a href="#aftermath-sdk" id="aftermath-sdk"></a>

### 1.创建 Aftermath provider <a href="#id-1.-chuang-jian-aftermath-provider" id="id-1.-chuang-jian-aftermath-provider"></a>

```javascript
const afSdk = new Aftermath("MAINNET"); // "MAINNET" | "TESTNET" | "DEVNET"
await afSdk.init(); // initialize provider
```

### 2.创建 new protocol provider

```typescript
const router = afSdk.Router(); 
const pools = afSdk.Pools(); 
const staking = afSdk.Staking(); 
const farms = afSdk.Farms();
```

## Aftermath API <a href="#aftermath-api" id="aftermath-api"></a>

### 1.创建 Aftermath API provider <a href="#id-1.-chuang-jian-aftermath-api-provider" id="id-1.-chuang-jian-aftermath-api-provider"></a>

```typescript
const fullnodeEndpoint = "https://fullnode.mainnet.sui.io";
const addresses = {...};

const afApi = new AftermathApi(
    new SuiClient({
        transport: new SuiHTTPTransport({
            url: fullnodeEndpoint,
        }),
    }),
    addresses,
    new IndexerCaller("MAINNET"), // "MAINNET" | "TESTNET" | "DEVNET"
);
```

### 2.创建 new protocol provider

```typescript
const poolsApi = afApi.Pools(); 
const stakinApi = afApi.Staking(); 
const farmsApi = afApi.Farms();
```
