First Transaction
In this guide, you will learn how to transfer ALPH
or other tokens
and check the status of the transaction.
Prerequisites:
- Write code in Typescript
- Typescript SDK installed
Transfer ALPH
Here is an example of how to transfer ALPH
from one address to
another using Typescript SDK. You can execute the
code by:
git clone [email protected]:alephium/ralph-example.git
cd ralph-example/your-firsts
npm install
npx ts-node src/transfer-alph.ts
The code transfers 10
ALPH
from the sender to the recipient and print out the balance of the
recipient before and after the transfer:
import { ONE_ALPH, waitForTxConfirmation } from '@alephium/web3'
import { getSigner } from '@alephium/web3-test'
async function transferAlph() {
web3.setCurrentNodeProvider('http://127.0.0.1:22973', undefined, fetch)
const nodeProvider = web3.getCurrentNodeProvider()
const [sender, receiver] = await getSigners(2)
const { balance: receiverBalanceBefore } = await nodeProvider.addresses.getAddressesAddressBalance(receiver.address)
// Transfer ALPH from sender to receiver
await sender.signAndSubmitTransferTx({
signerAddress: sender.address,
destinations: [{ address: receiver.address, attoAlphAmount: 10n * ONE_ALPH }]
})
const { balance: receiverBalanceAfter } = await nodeProvider.addresses.getAddressesAddressBalance(receiver.address)
console.log(`receiver balance before: ${receiverBalanceBefore}, after: ${receiverBalanceAfter}`)
}
transferAlph()
Transfer Tokens
Here is an example of how to transfer a token from one address to another using Typescript SDK. You can execute the code by:
git clone [email protected]:alephium/ralph-example.git
cd ralph-example/your-firsts
npm install
npx ts-node src/transfer-token.ts
Transferring tokens is as straightforward as transferring ALPH
: in
the signAndSubmitTransferTx
function, we can also specify the token
to be transferred and its amount:
// Transfer token from sender to receiver
await sender.signAndSubmitTransferTx({
signerAddress: sender.address,
destinations: [
{ address: receiver.address, attoAlphAmount: DUST_AMOUNT, tokens: [{ id: tokenId, amount: 10n }] }
]
})
In fact, we have the flexibility to send multiple tokens to multiple recipients within the same transaction!