Closed golddydev closed 10 months ago
Hi, I solved this issue.
We can do this using lucid-cardano
.
The cardano zero address is here
addr1vyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkdl5mw
const inputs = C.TransactionInputs.new();
inputs.add(
C.TransactionInput.new(
C.TransactionHash.from_hex(
'706f481e44126b9de1c394e1ade248b15c435216fba3ecfb40d21c5c291be75d',
),
C.BigNum.zero(),
),
);
const outputs = C.TransactionOutputs.new();
outputs.add(
C.TransactionOutput.new(
C.Address.from_bech32(
'addr1qx2vnfzpeuvdcym8y7v5qnz2mc289ue6tfr0xynyaqnm0rhuanngtqdu53qy0c0zxxed8hdnmkl66l0uvw68q8elp4nsxyap30',
),
C.Value.new(C.BigNum.from_str('1000000')),
),
);
const fee = C.BigNum.from_str('500000');
const witnessSet = C.TransactionWitnessSet.new();
const auxData = C.AuxiliaryData.new();
const metadata = C.GeneralTransactionMetadata.new();
const metadataMap = C.MetadataMap.new();
const metadataList = C.MetadataList.new();
metadataList.add(C.TransactionMetadatum.new_text('Hello World'));
metadataMap.insert(
C.TransactionMetadatum.new_text('msg'),
C.TransactionMetadatum.new_list(metadataList),
);
const metadataum = C.TransactionMetadatum.new_map(metadataMap);
metadata.insert(C.BigNum.from_str('674'), metadataum);
auxData.set_metadata(metadata);
const transaction = C.Transaction.new(
C.TransactionBody.new(inputs, outputs, fee),
witnessSet,
auxData,
);
Here is easier way for this.
const lucid = await Lucid.new(blockfrostProvider, 'Mainnet');
const utxos = await lucid.utxosAt(zeroAddress);
lucid.selectWalletFrom({
address: zeroAddress,
utxos,
});
const tx = await lucid
.newTx()
.payToAddress(bech32Address, {
lovelace: 2000000n,
})
.addSigner(bech32Address)
.validTo(Date.now() + 1000 * 120)
.attachMetadata(674, {
msg: [
'Only for verification',
],
})
.complete();
I am now build dApp. And I want to verify users by letting them signData using their wallets. But the problem is that Ledger type wallet (not seed-phrase account) doesn't support signData method yet. So I was trying to use signTx method instead. But how can we build tx which is not related to users' address, so they see that nothing will happen after they sign the Transaction.