{% hint style="info" %} This feature is available in the Hedera JavaScript SDK only. (version >=2.14.0). {% endhint %}
LocalProvider is a quality of life implementation that creates a provider using the HEDERA_NETWORK
environment variable.
The LocalProvider()
requires the following variable to be defined in the .env
file. The .env
file is located in the root directory of the project.
HEDERA_NETWORK
- The network the wallet submits transactions to
{% code title=".env" %}
//Example .env file
HEDERA_NETWORK= previewnet/testnet/mainnet (select one network)
{% endcode %}
Instantiates the LocalProvider object. The local provider is built using HEDERA_NETWORK
network specified in the .env
file.
Returns the account balance of the account in the local wallet.
Returns the account information of the account in the local wallet.
Returns the last transaction records for this account using TransactionRecordQuery
.
Returns the ledger ID (previewnet
, testnet
, or mainnet
).
The mirror network the wallet is connected to.
Returns the network map information.
Returns the transaction receipt.
Wait for the receipt for a transaction response.
<LocalProvider>.
call(
<RequestT, ResponseT, OutputT>(request: Executable<RequestT, ResponseT, OutputT>
)
->** Promise <Output>
**
Sign and send a request using the wallet.
require("dotenv").config();
import { Wallet, LocalProvider } from "@hashgraph/sdk";
async function main() {
const wallet = new Wallet(
process.env.OPERATOR_ID,
process.env.OPERATOR_KEY,
new LocalProvider()
);
const info = await wallet.getAccountInfo();
console.log(`info.key = ${info.key.toString()}`);
}
void main();
require("dotenv").config();
const {Wallet, LocalProvider, TransferTransaction} = require("@hashgraph/sdk");
async function main() {
const wallet = new Wallet(
process.env.OPERATOR_ID,
process.env.OPERATOR_KEY,
new LocalProvider()
);
//Transfer 1 hbar from my wallet account to account 0.0.3
const transaction = await new TransferTransaction()
.addHbarTransfer(wallet.getAccountId(), -1)
.addHbarTransfer("0.0.3", 1)
.freezeWithSigner(wallet);
//Sign the transaction
const signTransaction = await transaction.signWithSigner(wallet);
//Submit the transaction
const response = await signTransaction.executeWithSigner(wallet);
//Get the receipt
const receipt = await wallet.getProvider().waitForReceipt(response);
console.log(`status: ${receipt.status.toString()}`);
}
main();