mirror of
				https://github.com/XRPLF/xrpl-dev-portal.git
				synced 2025-11-04 11:55:50 +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