mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-12-06 17:27:57 +00:00
refactor(_code-samples): remove Go WebSocket use-ticket example
This commit is contained in:
@@ -1,148 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"github.com/Peersyst/xrpl-go/xrpl/faucet"
|
|
||||||
"github.com/Peersyst/xrpl-go/xrpl/queries/account"
|
|
||||||
"github.com/Peersyst/xrpl-go/xrpl/transaction"
|
|
||||||
"github.com/Peersyst/xrpl-go/xrpl/wallet"
|
|
||||||
"github.com/Peersyst/xrpl-go/xrpl/websocket"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
WalletSeed = "sn3nxiW7v8KXzPzAqzyHXbSSKNuN9"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
fmt.Println("⏳ Connecting to testnet...")
|
|
||||||
client := websocket.NewClient(
|
|
||||||
websocket.NewClientConfig().
|
|
||||||
WithHost("wss://s.altnet.rippletest.net:51233").
|
|
||||||
WithFaucetProvider(faucet.NewTestnetFaucetProvider()),
|
|
||||||
)
|
|
||||||
defer client.Disconnect()
|
|
||||||
|
|
||||||
if err := client.Connect(); err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if !client.IsConnected() {
|
|
||||||
fmt.Println("❌ Failed to connect to testnet")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("✅ Connected to testnet")
|
|
||||||
fmt.Println()
|
|
||||||
|
|
||||||
w, err := wallet.FromSeed(WalletSeed, "")
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("⏳ Funding wallet...")
|
|
||||||
if err := client.FundWallet(&w); err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("💸 Wallet funded")
|
|
||||||
fmt.Println()
|
|
||||||
|
|
||||||
info, err := client.GetAccountInfo(&account.InfoRequest{
|
|
||||||
Account: w.GetAddress(),
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("🌐 Current wallet sequence:", info.AccountData.Sequence)
|
|
||||||
fmt.Println()
|
|
||||||
|
|
||||||
fmt.Println("⏳ Submitting TicketCreate transaction...")
|
|
||||||
tc := &transaction.TicketCreate{
|
|
||||||
BaseTx: transaction.BaseTx{
|
|
||||||
Account: w.GetAddress(),
|
|
||||||
Sequence: info.AccountData.Sequence,
|
|
||||||
},
|
|
||||||
TicketCount: 10,
|
|
||||||
}
|
|
||||||
|
|
||||||
flatTc := tc.Flatten()
|
|
||||||
|
|
||||||
if err := client.Autofill(&flatTc); err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
blob, _, err := w.Sign(flatTc)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
res, err := client.SubmitTxBlobAndWait(blob, false)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("✅ TicketCreate transaction submitted")
|
|
||||||
fmt.Printf("🌐 Hash: %s\n", res.Hash)
|
|
||||||
fmt.Printf("🌐 Validated: %t\n", res.Validated)
|
|
||||||
fmt.Println()
|
|
||||||
|
|
||||||
objects, err := client.GetAccountObjects(&account.ObjectsRequest{
|
|
||||||
Account: w.GetAddress(),
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("🌐 Account objects:", objects.AccountObjects[0]["TicketSequence"])
|
|
||||||
|
|
||||||
seq, err := objects.AccountObjects[0]["TicketSequence"].(json.Number).Int64()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("⏳ Submitting AccountSet transaction...")
|
|
||||||
as := &transaction.AccountSet{
|
|
||||||
BaseTx: transaction.BaseTx{
|
|
||||||
Account: w.GetAddress(),
|
|
||||||
Sequence: 0,
|
|
||||||
TicketSequence: uint32(seq),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
flatAs := as.Flatten()
|
|
||||||
|
|
||||||
if err := client.Autofill(&flatAs); err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
flatAs["Sequence"] = uint32(0)
|
|
||||||
|
|
||||||
blob, _, err = w.Sign(flatAs)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
res, err = client.SubmitTxBlobAndWait(blob, false)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("✅ AccountSet transaction submitted")
|
|
||||||
fmt.Printf("🌐 Hash: %s\n", res.Hash)
|
|
||||||
fmt.Printf("🌐 Validated: %t\n", res.Validated)
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user