mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-20 19:55:54 +00:00
update screenshots and sample code
This commit is contained in:
112
_code-samples/mpt-generator/mpt-generator.js
Normal file
112
_code-samples/mpt-generator/mpt-generator.js
Normal file
@@ -0,0 +1,112 @@
|
||||
function generateCode() {
|
||||
let v_flags = 0
|
||||
if (clawbackSlider.checked) {v_flags+=64}
|
||||
if (lockSlider.checked) {v_flags+=2}
|
||||
if (authTokensSlider.checked) {v_flags +=4}
|
||||
if (txrSlider.checked) {v_flags += 32}
|
||||
if (tradeSlider.checked) {v_flags += 16}
|
||||
if (escrowSlider.checked) {v_flags+=8}
|
||||
const mptHexString = xrpl.convertStringToHex(metadataTextArea.value)
|
||||
let v_codeBlock = "{\n \"TransactionType\": \"MPTokenIssuanceCreate\",\n \"Account\": \"" + accountField.value +
|
||||
"\",\n \"AssetScale\": 2, \n \"MaximumAmount\": \"" + maximumAmountField.value +
|
||||
"\",\n \"TransferFee\": " + transferFeeField.value +
|
||||
",\n \"Flags\": " + v_flags + ",\n \"MPTokenMetadata\": \"" + mptHexString + "\"\n}"
|
||||
|
||||
codeTextArea.value = v_codeBlock
|
||||
}
|
||||
// ******************************************************
|
||||
// ************* Get the Preferred Network **************
|
||||
// ******************************************************
|
||||
|
||||
function getNet() {
|
||||
let net
|
||||
if (document.getElementById("tn").checked) net = "wss://s.altnet.rippletest.net:51233"
|
||||
if (document.getElementById("dn").checked) net = "wss://s.devnet.rippletest.net:51233"
|
||||
return net
|
||||
} // End of getNet()
|
||||
|
||||
// *******************************************************
|
||||
// ************* Get Account *****************************
|
||||
// *******************************************************
|
||||
|
||||
async function getAccount() {
|
||||
let net = getNet()
|
||||
const client = new xrpl.Client(net)
|
||||
results = 'Connecting to ' + net + '....'
|
||||
|
||||
//-------------------------------This uses the default faucet for Testnet/Devnet.
|
||||
let faucetHost = null
|
||||
codeTextArea.value = results
|
||||
await client.connect()
|
||||
results += '\nConnected, funding wallet.'
|
||||
// ----------------------------------------Create and fund a test account wallet.
|
||||
const my_wallet = (await client.fundWallet(null, { faucetHost })).wallet
|
||||
results += '\nGot a wallet.'
|
||||
|
||||
// ------------------------------------------------------Get the current balance.
|
||||
const my_balance = (await client.getXrpBalance(my_wallet.address))
|
||||
accountField.value = my_wallet.address
|
||||
seedField.value = my_wallet.seed
|
||||
results += '\nAccount created.'
|
||||
codeTextArea.value = results
|
||||
client.disconnect()
|
||||
} // End of getAccount()
|
||||
|
||||
// *******************************************************
|
||||
// ************ Get Account from Seed ********************
|
||||
// *******************************************************
|
||||
|
||||
async function getAccountFromSeed() {
|
||||
let net = getNet()
|
||||
const client = new xrpl.Client(net)
|
||||
results = 'Connecting to ' + getNet() + '....'
|
||||
await client.connect()
|
||||
results += '\nConnected, finding wallets.\n'
|
||||
codeTextArea.value = results
|
||||
// --------------------------------------------------Find the test account wallet.
|
||||
const my_wallet = xrpl.Wallet.fromSeed(seedField.value)
|
||||
|
||||
// -------------------------------------------------------Get the current balance.
|
||||
accountField.value = my_wallet.address
|
||||
seedField.value = my_wallet.seed
|
||||
client.disconnect()
|
||||
} // End of getAccountFromSeed()
|
||||
|
||||
// *******************************************************
|
||||
// *************** Send Transaction **********************
|
||||
// *******************************************************
|
||||
|
||||
async function sendTransaction() {
|
||||
let v_flags = 0
|
||||
if (clawbackSlider.checked) {v_flags+=64}
|
||||
if (lockSlider.checked) {v_flags+=2}
|
||||
if (authTokensSlider.checked) {v_flags +=4}
|
||||
if (txrSlider.checked) {v_flags += 32}
|
||||
if (tradeSlider.checked) {v_flags += 16}
|
||||
if (escrowSlider.checked) {v_flags+=8}
|
||||
results = 'Connecting to ' + getNet() + '....'
|
||||
console.log(results)
|
||||
let net = getNet()
|
||||
const my_wallet = xrpl.Wallet.fromSeed(seedField.value)
|
||||
const client = new xrpl.Client(net)
|
||||
await client.connect()
|
||||
|
||||
const metadataHexString = xrpl.convertStringToHex(metadataTextArea.value)
|
||||
|
||||
const transactionJson = {
|
||||
"TransactionType": "MPTokenIssuanceCreate",
|
||||
"Account": accountField.value,
|
||||
"AssetScale": parseInt(assetScaleField.value),
|
||||
"MaximumAmount": maximumAmountField.value,
|
||||
"TransferFee": parseInt(transferFeeField.value),
|
||||
"Flags": v_flags,
|
||||
"MPTokenMetadata": metadataHexString
|
||||
}
|
||||
const tx = await client.submitAndWait(transactionJson, { wallet: my_wallet} )
|
||||
if (document.getElementById("tn").checked) {
|
||||
codeTextArea.value += "\n Success! Ledger Index: " + tx.result.ledger_index + "\nSee https://testnet.xrpl.org/ledgers/" + tx.result.ledger_index
|
||||
} else {
|
||||
codeTextArea.value += "\n Success! Ledger Index: " + tx.result.ledger_index + "\nSee https://devnet.xrpl.org/ledgers/" + tx.result.ledger_index
|
||||
}
|
||||
urlField.value = "https://devnet.xrpl.org/ledgers/" + tx.result.ledger_index
|
||||
}
|
||||
Reference in New Issue
Block a user