Skip to content

Commit c4013be

Browse files
deploy: 16768f7
1 parent a2cdb25 commit c4013be

File tree

5 files changed

+89
-22
lines changed

5 files changed

+89
-22
lines changed

.doctrees/environment.pickle

385 Bytes
Binary file not shown.

.doctrees/index.doctree

2.61 KB
Binary file not shown.

_sources/index.rst.txt

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ Example Custom Guardrails - Optional
553553
Tools
554554
~~~~~~
555555

556-
Solana
556+
Solana Transfer
557557
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
558558

559559
.. code-block:: bash
@@ -566,26 +566,61 @@ Solana
566566
567567
config = {
568568
"tools": {
569-
"solana": {
570-
"private_key": "your-solana-wallet-private-key", # base58 encoded string
571-
"rpc_url": "your-solana-rpc-url",
569+
"solana_transfer": {
570+
"rpc_url": "my-rpc-url", # Required - your RPC URL - Helius is recommended
571+
"private_key": "my-private-key", # Required - base58 string - please use env vars to store the key as it is very confidential
572572
},
573573
},
574-
"ai_agents": [
574+
"agents": [
575575
{
576576
"name": "solana_expert",
577-
"instructions": "You are an expert Solana blockchain assistant. You always use the Solana tool to perform actions on the Solana blockchain.",
578-
"specialization": "Solana blockchain interaction",
579-
"tools": ["solana"], # Enable the tool for this agent
577+
"instructions": "You are a Solana expert that can transfer tokens.",
578+
"specialization": "Solana Blockchain",
579+
"tools": ["solana_transfer"], # Enable the tool for this agent
580580
}
581-
]
581+
],
582582
}
583583
584584
solana_agent = SolanaAgent(config=config)
585585
586-
async for response in solana_agent.process("user123", "What is my SOL balance?"):
586+
async for response in solana_agent.process("user123", "Transfer 0.01 Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB to DzvqBkUHUhuhHtNKGWSCVEAm2rHdm9bxxdQYC6mZBZyF"):
587587
print(response, end="")
588588
589+
Solana Swap
590+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
591+
592+
.. code-block:: bash
593+
594+
pip install sakit
595+
596+
.. code-block:: python
597+
598+
from solana_agent import SolanaAgent
599+
600+
config = {
601+
"tools": {
602+
"solana_swap": {
603+
"rpc_url": "my-rpc-url", # Required - your RPC URL - Helius is recommended
604+
"private_key": "my-private-key", # Required - base58 string - please use env vars to store the key as it is very confidential
605+
"jupiter_url": "my-custom-url" # Optional - if you are using a custom Jupiter service like Metis from QuickNode
606+
},
607+
},
608+
"agents": [
609+
{
610+
"name": "solana_expert",
611+
"instructions": "You are a Solana expert that can swap tokens.",
612+
"specialization": "Solana Blockchain",
613+
"tools": ["solana_swap"], # Enable the tool for this agent
614+
}
615+
],
616+
}
617+
618+
solana_agent = SolanaAgent(config=config)
619+
620+
async for response in solana_agent.process("user123", "Swap 0.01 Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB to So11111111111111111111111111111111111111112"):
621+
print(response, end="")
622+
623+
589624
Internet Search
590625
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
591626

index.html

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -584,33 +584,65 @@ <h3>Example Custom Guardrails - Optional<a class="headerlink" href="#example-cus
584584
<section id="tools">
585585
<h3>Tools<a class="headerlink" href="#tools" title="Link to this heading"></a></h3>
586586
</section>
587-
<section id="solana">
588-
<h3>Solana<a class="headerlink" href="#solana" title="Link to this heading"></a></h3>
587+
<section id="solana-transfer">
588+
<h3>Solana Transfer<a class="headerlink" href="#solana-transfer" title="Link to this heading"></a></h3>
589589
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pip<span class="w"> </span>install<span class="w"> </span>sakit
590590
</pre></div>
591591
</div>
592592
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">solana_agent</span><span class="w"> </span><span class="kn">import</span> <span class="n">SolanaAgent</span>
593593

594594
<span class="n">config</span> <span class="o">=</span> <span class="p">{</span>
595595
<span class="s2">&quot;tools&quot;</span><span class="p">:</span> <span class="p">{</span>
596-
<span class="s2">&quot;solana&quot;</span><span class="p">:</span> <span class="p">{</span>
597-
<span class="s2">&quot;private_key&quot;</span><span class="p">:</span> <span class="s2">&quot;your-solana-wallet-private-key&quot;</span><span class="p">,</span> <span class="c1"># base58 encoded string</span>
598-
<span class="s2">&quot;rpc_url&quot;</span><span class="p">:</span> <span class="s2">&quot;your-solana-rpc-url&quot;</span><span class="p">,</span>
596+
<span class="s2">&quot;solana_transfer&quot;</span><span class="p">:</span> <span class="p">{</span>
597+
<span class="s2">&quot;rpc_url&quot;</span><span class="p">:</span> <span class="s2">&quot;my-rpc-url&quot;</span><span class="p">,</span> <span class="c1"># Required - your RPC URL - Helius is recommended</span>
598+
<span class="s2">&quot;private_key&quot;</span><span class="p">:</span> <span class="s2">&quot;my-private-key&quot;</span><span class="p">,</span> <span class="c1"># Required - base58 string - please use env vars to store the key as it is very confidential</span>
599599
<span class="p">},</span>
600600
<span class="p">},</span>
601-
<span class="s2">&quot;ai_agents&quot;</span><span class="p">:</span> <span class="p">[</span>
601+
<span class="s2">&quot;agents&quot;</span><span class="p">:</span> <span class="p">[</span>
602602
<span class="p">{</span>
603603
<span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;solana_expert&quot;</span><span class="p">,</span>
604-
<span class="s2">&quot;instructions&quot;</span><span class="p">:</span> <span class="s2">&quot;You are an expert Solana blockchain assistant. You always use the Solana tool to perform actions on the Solana blockchain.&quot;</span><span class="p">,</span>
605-
<span class="s2">&quot;specialization&quot;</span><span class="p">:</span> <span class="s2">&quot;Solana blockchain interaction&quot;</span><span class="p">,</span>
606-
<span class="s2">&quot;tools&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;solana&quot;</span><span class="p">],</span> <span class="c1"># Enable the tool for this agent</span>
604+
<span class="s2">&quot;instructions&quot;</span><span class="p">:</span> <span class="s2">&quot;You are a Solana expert that can transfer tokens.&quot;</span><span class="p">,</span>
605+
<span class="s2">&quot;specialization&quot;</span><span class="p">:</span> <span class="s2">&quot;Solana Blockchain&quot;</span><span class="p">,</span>
606+
<span class="s2">&quot;tools&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;solana_transfer&quot;</span><span class="p">],</span> <span class="c1"># Enable the tool for this agent</span>
607607
<span class="p">}</span>
608-
<span class="p">]</span>
608+
<span class="p">],</span>
609+
<span class="p">}</span>
610+
611+
<span class="n">solana_agent</span> <span class="o">=</span> <span class="n">SolanaAgent</span><span class="p">(</span><span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">)</span>
612+
613+
<span class="k">async</span> <span class="k">for</span> <span class="n">response</span> <span class="ow">in</span> <span class="n">solana_agent</span><span class="o">.</span><span class="n">process</span><span class="p">(</span><span class="s2">&quot;user123&quot;</span><span class="p">,</span> <span class="s2">&quot;Transfer 0.01 Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB to DzvqBkUHUhuhHtNKGWSCVEAm2rHdm9bxxdQYC6mZBZyF&quot;</span><span class="p">):</span>
614+
<span class="nb">print</span><span class="p">(</span><span class="n">response</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">)</span>
615+
</pre></div>
616+
</div>
617+
</section>
618+
<section id="solana-swap">
619+
<h3>Solana Swap<a class="headerlink" href="#solana-swap" title="Link to this heading"></a></h3>
620+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pip<span class="w"> </span>install<span class="w"> </span>sakit
621+
</pre></div>
622+
</div>
623+
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">solana_agent</span><span class="w"> </span><span class="kn">import</span> <span class="n">SolanaAgent</span>
624+
625+
<span class="n">config</span> <span class="o">=</span> <span class="p">{</span>
626+
<span class="s2">&quot;tools&quot;</span><span class="p">:</span> <span class="p">{</span>
627+
<span class="s2">&quot;solana_swap&quot;</span><span class="p">:</span> <span class="p">{</span>
628+
<span class="s2">&quot;rpc_url&quot;</span><span class="p">:</span> <span class="s2">&quot;my-rpc-url&quot;</span><span class="p">,</span> <span class="c1"># Required - your RPC URL - Helius is recommended</span>
629+
<span class="s2">&quot;private_key&quot;</span><span class="p">:</span> <span class="s2">&quot;my-private-key&quot;</span><span class="p">,</span> <span class="c1"># Required - base58 string - please use env vars to store the key as it is very confidential</span>
630+
<span class="s2">&quot;jupiter_url&quot;</span><span class="p">:</span> <span class="s2">&quot;my-custom-url&quot;</span> <span class="c1"># Optional - if you are using a custom Jupiter service like Metis from QuickNode</span>
631+
<span class="p">},</span>
632+
<span class="p">},</span>
633+
<span class="s2">&quot;agents&quot;</span><span class="p">:</span> <span class="p">[</span>
634+
<span class="p">{</span>
635+
<span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;solana_expert&quot;</span><span class="p">,</span>
636+
<span class="s2">&quot;instructions&quot;</span><span class="p">:</span> <span class="s2">&quot;You are a Solana expert that can swap tokens.&quot;</span><span class="p">,</span>
637+
<span class="s2">&quot;specialization&quot;</span><span class="p">:</span> <span class="s2">&quot;Solana Blockchain&quot;</span><span class="p">,</span>
638+
<span class="s2">&quot;tools&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;solana_swap&quot;</span><span class="p">],</span> <span class="c1"># Enable the tool for this agent</span>
639+
<span class="p">}</span>
640+
<span class="p">],</span>
609641
<span class="p">}</span>
610642

611643
<span class="n">solana_agent</span> <span class="o">=</span> <span class="n">SolanaAgent</span><span class="p">(</span><span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">)</span>
612644

613-
<span class="k">async</span> <span class="k">for</span> <span class="n">response</span> <span class="ow">in</span> <span class="n">solana_agent</span><span class="o">.</span><span class="n">process</span><span class="p">(</span><span class="s2">&quot;user123&quot;</span><span class="p">,</span> <span class="s2">&quot;What is my SOL balance?&quot;</span><span class="p">):</span>
645+
<span class="k">async</span> <span class="k">for</span> <span class="n">response</span> <span class="ow">in</span> <span class="n">solana_agent</span><span class="o">.</span><span class="n">process</span><span class="p">(</span><span class="s2">&quot;user123&quot;</span><span class="p">,</span> <span class="s2">&quot;Swap 0.01 Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB to So11111111111111111111111111111111111111112&quot;</span><span class="p">):</span>
614646
<span class="nb">print</span><span class="p">(</span><span class="n">response</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">)</span>
615647
</pre></div>
616648
</div>

0 commit comments

Comments
 (0)