NEAR API REST Server

To Share and +4 nLEARNs

NEAR REST API Server is a project that allows you create your own simple REST API server that interacts with the NEAR blockchain.


Contracts

/deploy

Deploys a smart contract to the NEAR blockchain based on the wasm file located in /contracts folder.

Method: POST

Param Description
account_id Account id that you will be deploying the contract to.
seed_phrase OR private_key Seed phrase OR private key of the account id above.
contract wasm file of compiled contract located in the /contracts folder of this project.

Note: Use near login to save your key pair to your local machine.

Example:

{
  "account_id": "example.testnet",
  "seed_phrase": "witch collapse practice feed shame open despair creek road again ice least",
  "contract": "nft_simple.wasm"
}
**Example Response:**

“`json
{
“status”: {
“SuccessValue”: “”
},
“transaction”: {
“signer_id”: “example.testnet”,
“public_key”: “ed25519:Cgg4i7ciid8uG4K5Vnjzy5N4PXLst5aeH9ApRAUA3y8U”,
“nonce”: 5,
“receiver_id”: “example.testnet”,
“actions”: [
{
“DeployContract”: {
“code”: “hT9saWV3aok50F8JundSIWAW+lxOcBOns1zenB2fB4E=”
}
}
],
“signature”: “ed25519:3VrppDV8zMMRXErdBJVU9MMbbKZ4SK1pBZqXoyw3oSSiXTeyR2W7upNhhZPdFJ1tNBr9h9SnsTVeBm5W9Bhaemis”,
“hash”: “HbokHoCGcjGQZrz8yU8QDqBeAm5BN8iPjaSMXu7Yp2KY”
},
“transaction_outcome”: {
“proof”: [
{
“hash”: “Dfjn2ro1dXrPqgzd5zU7eJpCMKnATm295ceocX73Qiqn”,
“direction”: “Right”
},
{
“hash”: “9raAgMrEmLpL6uiynMAi9rykJrXPEZN4WSxLJUJXbipY”,
“direction”: “Right”
}
],
“block_hash”: “B64cQPDNkwiCcN3SGXU2U5Jz5M9EKF1hC6uDi4S15Fb3”,
“id”: “HbokHoCGcjGQZrz8yU8QDqBeAm5BN8iPjaSMXu7Yp2KY”,
“outcome”: {
“logs”: [],
“receipt_ids”: [“D94GcZVXE2WgPGuaJPJq8MdeEUidrN1FPkuU75NXWm7X”],
“gas_burnt”: 1733951676474,
“tokens_burnt”: “173395167647400000000”,
“executor_id”: “example.testnet”,
“status”: {
“SuccessReceiptId”: “D94GcZVXE2WgPGuaJPJq8MdeEUidrN1FPkuU75NXWm7X”
}
}
},
“receipts_outcome”: [
{
“proof”: [
{
“hash”: “3HLkv7KrQ9LPptX658QiwkFagv8NwjcxF6ti15Een4uh”,
“direction”: “Left”
},
{
“hash”: “9raAgMrEmLpL6uiynMAi9rykJrXPEZN4WSxLJUJXbipY”,
“direction”: “Right”
}
],
“block_hash”: “B64cQPDNkwiCcN3SGXU2U5Jz5M9EKF1hC6uDi4S15Fb3”,
“id”: “D94GcZVXE2WgPGuaJPJq8MdeEUidrN1FPkuU75NXWm7X”,
“outcome”: {
“logs”: [],
“receipt_ids”: [],
“gas_burnt”: 1733951676474,
“tokens_burnt”: “173395167647400000000”,
“executor_id”: “example.testnet”,
“status”: {
“SuccessValue”: “”
}
}
}
]
}
“`


/view

Performs a smart contract view call that is free of charge (no gas burnt).

Method: POST

Param Description
contract Account id of the smart contract you are calling.
method Name of the public method on the contract you are calling.
params Arguments the method of the contract takes. Pass an empty object if no args are needed.

Example:

{
  "contract": "inotel.pool.f863973.m0",
  "method": "get_accounts",
  "params": { "from_index": 0, "limit": 5 }
}
**Example Response:**

“`json
[
{
“account_id”: “ino.lockup.m0”,
“unstaked_balance”: “0”,
“staked_balance”: “2719843984800963837328608365424”,
“can_withdraw”: true
},
{
“account_id”: “ino.testnet”,
“unstaked_balance”: “2”,
“staked_balance”: “3044983795632859169857527919579”,
“can_withdraw”: true
},
{
“account_id”: “ino.stakewars.testnet”,
“unstaked_balance”: “2”,
“staked_balance”: “21704174266817478470830456026”,
“can_withdraw”: true
},
{
“account_id”: “ds4.testnet”,
“unstaked_balance”: “3”,
“staked_balance”: “10891355794195012441764921”,
“can_withdraw”: true
},
{
“account_id”: “32oijafsiodjfas.testnet”,
“unstaked_balance”: “3”,
“staked_balance”: “383757424103247547511904666”,
“can_withdraw”: true
}
]
“`


/call

Performs a smart contract call that changes state and burns gas.

Method: POST

Param Description
account_id Account id that will be performing the call and will be charged for gas and attached tokens / deposit.
seed_phrase OR private_key Seed phrase OR private key of the account id above.
contract Account id of the smart contract you will be calling.
method Public method on the smart contract that you will be calling.
params Arguments the method of the contract takes. Pass an empty object if no args are needed.
attached_gas Amount of gas you will be attaching to the call in TGas.
attached_tokens Amount of tokens to be sent to the contract you are calling in yoctoNEAR (10^-24 NEAR).

Note: Use near login to save your key pair to your local machine.

Example:

{
  "account_id": "example.testnet",
  "private_key": "2Kh6PJjxH5PTTsVnYqtgnnwXHeafvVGczDXoCb33ws8reyq8J4oBYix1KP2ugRQ7q9NQUyPcVFTtbSG3ARVKETfK",
  "contract": "guest-book.testnet",
  "method": "addMessage",
  "params": { "text": "Hello World" },
  "attached_gas": "100000000000000",
  "attached_tokens": "0"
}
**Example Response:**

“`json
{
“status”: {
“SuccessValue”: “”
},
“transaction”: {
“signer_id”: “example.testnet”,
“public_key”: “ed25519:ASZEids5Qa8XMHX2S7LRL4bQRczi4YuMWXSM7S1HE5b”,
“nonce”: 4,
“receiver_id”: “guest-book.testnet”,
“actions”: [
{
“FunctionCall”: {
“method_name”: “addMessage”,
“args”: “eyJ0ZXh0IjoiSGVsbG8gV29ybGQifQ==”,
“gas”: 100000000000000,
“deposit”: “0”
}
}
],
“signature”: “ed25519:4T9FqsjYBxcitjd5GgHrv3i3hcdcJSNcwwG3jBUgs7zZCZ3uShAK44Hi3oYFefhr8e5UW3LLD49ofRpGXKwGqqot”,
“hash”: “CniHtfQVzcyVWJaUrQibJyGdhLi5axsjsoSRvvFbJ1jv”
},
“transaction_outcome”: {
“proof”: [
{
“hash”: “EkzDGbbBHSAuJcCPmhKSqbnBKyLrMgXkrTEZZZQudHeH”,
“direction”: “Right”
},
{
“hash”: “36j4PK6fsLChiVTBQnXS1ywVSgJgHo7FtWzd5y5jkK1B”,
“direction”: “Right”
}
],
“block_hash”: “CUAu2deED8UX4vkerCbsTMR7YkeKt8RQXknYMNrVvM7C”,
“id”: “CniHtfQVzcyVWJaUrQibJyGdhLi5axsjsoSRvvFbJ1jv”,
“outcome”: {
“logs”: [],
“receipt_ids”: [“B7xAYoga5vrKERK7wY7EHa2Z74LaRJwqPsh4esLrKeQF”],
“gas_burnt”: 2427992549888,
“tokens_burnt”: “242799254988800000000”,
“executor_id”: “example.testnet”,
“status”: {
“SuccessReceiptId”: “B7xAYoga5vrKERK7wY7EHa2Z74LaRJwqPsh4esLrKeQF”
}
}
},
“receipts_outcome”: [
{
“proof”: [
{
“hash”: “6Uo6BajpAxiraJEv69RwhjYnC86u56cw29vRDB1SV4dv”,
“direction”: “Right”
}
],
“block_hash”: “Ecq6pK74uiJFKxPTaasYuQcsEznnQjdzMAfsyrBpDo2u”,
“id”: “B7xAYoga5vrKERK7wY7EHa2Z74LaRJwqPsh4esLrKeQF”,
“outcome”: {
“logs”: [],
“receipt_ids”: [“6S6m1TYuVPYovLu9FHGV5oLRnDXeNQ8NhXxYjcr91xAN”],
“gas_burnt”: 3766420707221,
“tokens_burnt”: “376642070722100000000”,
“executor_id”: “guest-book.testnet”,
“status”: {
“SuccessValue”: “”
}
}
},
{
“proof”: [
{
“hash”: “2za2YKUhyMfWbeEL7UKZxZcQbAqEmSPgPoYh9QDdeJQi”,
“direction”: “Left”
},
{
“hash”: “61aHEiTBBbPU8UEXgSQh42TujFkHXQQMSuTh13PLPwbG”,
“direction”: “Right”
}
],
“block_hash”: “6LfpzvCBkqq7h5uG9VjAHMwSpC3HMMBSAGNGhbrAJzKP”,
“id”: “6S6m1TYuVPYovLu9FHGV5oLRnDXeNQ8NhXxYjcr91xAN”,
“outcome”: {
“logs”: [],
“receipt_ids”: [],
“gas_burnt”: 0,
“tokens_burnt”: “0”,
“executor_id”: “example.testnet”,
“status”: {
“SuccessValue”: “”
}
}
}
]
}
“`


Generate comment with AI 2 nL
Scroll to Top