leq6c / soldexpy

Experimental Python toolkit to work with Raydium by using RPC only.
34 stars 16 forks source link

Run error! #4

Closed Jonkrua closed 4 months ago

Jonkrua commented 5 months ago

Testing code:

from soldexpy.raydium_pool import RaydiumPool
from soldexpy.swap import Swap
from solana.rpc.api import Client
from solders.keypair import Keypair
import base58

PRIVATE_KEY = 'ABCD test'  #dev account
# load private key
keypair = Keypair.from_bytes(base58.b58decode(PRIVATE_KEY))
# configure rpc client
client = Client("https://api.mainnet-beta.solana.com")

# get pool

ray_pool_address = 'AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA'
pool = RaydiumPool(client, ray_pool_address)
# initialize Swap
swap = Swap(client, pool)

if __name__ == '__main__':
    # buy
    swap.buy(0.01, 0.1, keypair)

Run error!!

Traceback (most recent call last):
  File "/Users/abc/workspace/ex/soldexpy/tests/test_swap.py", line 26, in <module>
    swap.buy(0.01, 0.1, keypair)
  File "/Users/abc/workspace/ex/soldexpy/soldexpy/swap.py", line 111, in buy
    transaction = swap_transaction_builder.compile_versioned_transaction()
  File "/Users/abc/workspace/ex/soldexpy/soldexpy/solana_tx_util/swap_transaction_builder.py", line 121, in compile_versioned_transaction
    recent_blockhash = client_wrapper.get_latest_blockhash(self.client)
  File "/Users/abc/workspace/ex/soldexpy/soldexpy/solana/client_wrapper.py", line 39, in get_latest_blockhash
    if client.blockhash_cache:
AttributeError: 'Client' object has no attribute 'blockhash_cache'
LightEssembly commented 5 months ago

Make sure you use the right version of SolanaPy.

pip install solana==0.31.0