A rollup token issued on Arweave.
- Three-party verification
- Fast as traditional Internet applications
- Very cheap
- Support MetaMask, compatible with Ethereum
Token issuance program, provide the WEB of Token, and token API.
- balanceOf: query user's balance
- txsByAddress: query user's transactions
- txs: query all transactions
- submitTx: user signature and submit transaction
detector program automatically loads the data on Arweave after running, and provide API to query token transactions.
- balanceOf: query user's balance
- txsByAddress: query user's transactions
- txs: query all transactions
token core module, providing ExecuteTx to execute transactions
Arweave data tracking program, parse the data into tx for output
Application front-end page
Save the off-chain calculation state, convenient for API query and output
After the build is completed, a build folder will be created, containing two applications, issuer and detector.
make all
Run the program when the operator issues tokens on its own
Prepare:
- An AR private key with a certain AR balance, such as 0.1 AR
- The name of the token
- The address of the creator who issued the token, which is the AR wallet address in 1 step
Run:
- Place the keyfile in the application root directory
./test-keyfile.json
- Run
GIN_MODE=release \
TOKEN_SYMBOL={{Your token name}} \
TOKEN_OWNER={{Token creator address}} \
KEY_PATH={{Keyfile path}} \
PORT={{HTTP port}} ./build/issuer
eg: (Note!!! You need to add :
before the PORT. The correct writing is :80
, not 80
)
GIN_MODE=release \
TOKEN_SYMBOL=ROL \
TOKEN_OWNER=dQzTM9hXV5MD1fRniOKI3MvPF_-8b2XDLmpfcMN9hi8 \
KEY_PATH='./test-keyfile.json' \
PORT=:80 ./build/issuer
- Click on
Connect Wallet
, use MetaMask for Claim and Transfer
http://127.0.0.1/token/
Transactions from issuer can be checked through the detector.
Prepare:
- token name
- The address of the creator who issued the token
Run the program:
TOKEN_SYMBOL=ROL \
TOKEN_OWNER=dQzTM9hXV5MD1fRniOKI3MvPF_-8b2XDLmpfcMN9hi8 \
PORT=:80 ./build/detector
Wait for the program to complete sync, use the following command to query the data:
curl 'http://127.0.0.1/balanceOf/{{wallet address}}' # Query wallet balance
curl 'http://127.0.0.1/txs/{{wallet address}}' # Query all transactions of the wallet
curl 'http://127.0.0.1/txs' # Query all historical transactions
test
make test