# 컨텍스트 (env)

> NeuroWASM 컨텍스트 host 함수 — 호출자 신원, 블록 높이, 잔액, 플래시 스테이크에 강한 투표를 위한 과거 스테이크 — 그리고 계획된 컨텍스트 함수.

Source: https://docs.nro.world/ko/neurowasm/context

신뢰할 수 있는 신원과 체인 컨텍스트입니다. 호출자 / 높이 / 스테이크를 사용자 JSON에서 **절대**가져오지 마세요.

## `get_caller` <Badge type="tip" text="작동 중" />

```text
get_caller(out_ptr, out_max) → i32
```

직접 호출자(EVM `msg.sender`): 최상위에서는 TX 서명자, 중첩된 `call_contract`에서는 부모 컨트랙트. 실제 TX 컨텍스트 밖에서는 비어 있습니다.

**유사 기능:** CosmWasm `info.sender`, NEAR `predecessor_account_id`.

## `get_self_addr` <Badge type="info" text="계획됨" />

이 컨트랙트의 `.app` 주소(`current_account`).

## `get_signer` <Badge type="info" text="계획됨" />

루트 TX 서명자(중첩 CPI에서는 호출자와 다름).

## `get_block_height` <Badge type="tip" text="작동 중" />

```text
get_block_height() → i64
```

이 TX에 대한 호스트의 높이(TX 컨텍스트 밖에서는 `0`). 타임락 / 투표 기간용.

## `get_block_time` <Badge type="info" text="계획됨" />

Unix 타임스탬프(ms/ns — 이름 있는 상수). 블록별로 결정론적.

## `get_shard_id` <Badge type="info" text="계획됨" />

이 실행의 샤드 id.

## `get_attached_deposit` <Badge type="info" text="계획됨" />

직전 호출자가 첨부한 uNRO.

## `get_balance` <Badge type="tip" text="작동 중" />

```text
get_balance(addr_ptr, addr_len) → i64
```

호스트 스냅샷의 네이티브 잔액(uNRO)(호출 중 송금 시뮬레이션 포함). 오류 시 `-1`.

## `gas_remaining` <Badge type="info" text="계획됨" />

이 호출에 남은 fuel.

## `get_stake` <Badge type="tip" text="작동 중" />

```text
get_stake(addr_ptr, addr_len) → i64
```

현재 자기 스테이크(uNRO). 호스트가 `stake:{addr}`를 미리 로드할 수 있습니다.

## `get_stake_at` <Badge type="tip" text="작동 중" />

```text
get_stake_at(addr_ptr, addr_len, height: i64) → i64
```

`height` 시점 또는 그 이전의 과거 자기 스테이크(플래시 스테이크에 강한 투표). 기록 / dispatcher가 없으면 `0`.
