# Blockchain | @coopenomics/sdk
Documentation for @coopenomics/sdk

# Class Blockchain

Класс Blockchain для взаимодействия с блокчейном COOPOS.

Обеспечивает методы для работы с транзакциями, таблицами смарт-контрактов и подписанием через приватный ключ.

- Defined in components/sdk/src/classes/blockchain/index.ts:13

#####
Index

### Constructors

constructor

### Methods

getAllRows
getInfo
getRow
query
setWif
transact

## Constructors

### constructor

- new Blockchain(config): Blockchain

- Конструктор класса Blockchain.

  #### Parameters

  - config: BlockchainConfig

    Конфигурация блокчейна, включающая URL цепочки и идентификатор цепочки.

  #### Returns Blockchain

  - Defined in components/sdk/src/classes/blockchain/index.ts:22

## Methods

### getAllRows

- getAllRows< T >(code, scope, tableName): Promise< T []>

- Получение всех строк таблицы смарт-контракта.

  #### Type Parameters

  - T = any

  #### Parameters

  - code: string

    Код (аккаунт) контракта.

  - scope: string

    Область видимости (scope) таблицы.

  - tableName: string

    Имя таблицы.

  #### Returns Promise< T []>

  Массив строк таблицы.

  - Defined in components/sdk/src/classes/blockchain/index.ts:81

### getInfo

- getInfo(): Promise<GetInfoResponse>

- Получение информации о блокчейне.

  #### Returns Promise<GetInfoResponse>

  Объект с информацией о текущем состоянии блокчейна.

  - Defined in components/sdk/src/classes/blockchain/index.ts:31

### getRow

- getRow< T >(code, scope, tableName, primaryKey, indexPosition?): Promise<null | T >

- Получение одной строки таблицы по первичному ключу.

  #### Type Parameters

  - T = any

  #### Parameters

  - code: string

    Код (аккаунт) контракта.

  - scope: string

    Область видимости (scope) таблицы.

  - tableName: string

    Имя таблицы.

  - primaryKey: string | number

    Первичный ключ строки.

  - indexPosition: IndexPosition = 'primary'

    Индекс для поиска строки (по умолчанию 'primary').

  #### Returns Promise<null | T >

  Строка таблицы или null, если не найдена.

  - Defined in components/sdk/src/classes/blockchain/index.ts:131

### query

- query< T >(code, scope, tableName, options?): Promise< T []>

- Запрос строк таблицы с использованием фильтров.

  #### Type Parameters

  - T = any

  #### Parameters

  - code: string

    Код (аккаунт) контракта.

  - scope: string

    Область видимости (scope) таблицы.

  - tableName: string

    Имя таблицы.

  - options: {
    from?: string | number;
    indexPosition?: IndexPosition ;
    maxRows?: number;
    to?: string | number;
    } = ...

    Опции для фильтрации данных.

    - ##### `Optional` from?: string | number

    - ##### `Optional` indexPosition?: IndexPosition

    - ##### `Optional` maxRows?: number

    - ##### `Optional` to?: string | number

  #### Returns Promise< T []>

  Массив строк, соответствующих фильтрам.

  - Defined in components/sdk/src/classes/blockchain/index.ts:96

### setWif

- setWif(username, wif, permission?): this

- Устанавливает приватный ключ (WIF) для текущей сессии.

  #### Parameters

  - username: string

    Имя пользователя (аккаунт).

  - wif: string

    Приватный ключ в формате WIF.

  - permission: string = 'active'

    Тип разрешения, который используется для подписания транзакции (по умолчанию = 'active')

  #### Returns this

  Текущий экземпляр Blockchain для цепочного вызова.

  - Defined in components/sdk/src/classes/blockchain/index.ts:42

### transact

- transact(actionOrActions, broadcast?): Promise<TransactResult>

- Выполнение транзакции с передачей одного или нескольких действий.

  #### Parameters

  - actionOrActions: any

    Действие или массив действий для выполнения.

  - broadcast: boolean = true

    Если true, транзакция будет отправлена в сеть.

  #### Returns Promise<TransactResult>

  Результат выполнения транзакции.

  #### Throws

  Ошибка, если сессия не инициализирована.

  - Defined in components/sdk/src/classes/blockchain/index.ts:63