酱油
Sauce 让你用 SauceScript 写一个简短的程序,它是 TypeScript 的一个子集, 读取活字 在链态中,选择一条路径,并在一次交易中写入合同调用. 交换,然后支付. 借款,然后偿还。 检查一个价格,然后交易。 您的程序执行您写的条件, a 未处理的失败会让每一步都回转 它会贯穿你自己的布特 所以你没有部署合同 每个程序.
这个 README 是为熟悉 TypeScript 和块链基本想法(钱包, a) 的开发者设计的 并且从未使用过Sauce。 你不需要别的开始.
苏斯是什么,不是
将程序写入一个安全的小块TypeScript中,称为"SauceScript". 酱汁变成 (或测试网 Arc Testnet, Base Sepolia, Ethereum Sepolia、Solana Devnet和Solana Testnet), 以及已经连锁运行的引擎 它在交易内部。 这是整个计划 快速启动的程序
// Pays `amount` of USDC from your Pot to `to`, and stops if the Pot holds less.
// The same file runs on Base and on Solana.
//
// Try it on a copy of the chain first: no password, no money, nothing sent.
//
// sauce simulate pay.sauce.ts --chain base --wallet me --assume-balance USDC:5 --args <recipient> 1000000
//
// Then run it for real: your wallet signs and pays the fee, and your Pot pays the USDC.
//
// sauce run pay.sauce.ts --chain base --wallet me --args <recipient> 1000000
//
// On Solana, the same way, with a Solana wallet:
//
// sauce simulate pay.sauce.ts --chain solana --wallet me-solana --assume-balance USDC:5 --args <recipient> 1000000
// sauce run pay.sauce.ts --chain solana --wallet me-solana --args <recipient> 1000000
//
// to: Address who gets the USDC, an address on the chain it runs on
// amount: Uint256 how much, in USDC's smallest unit: USDC has 6 decimals, so 1000000 is 1 USDC
function main(to: Address, amount: Uint256) {
require(pot.USDC >= amount, "not enough USDC");
USDC.transfer(to, amount);
}
main 是程序开始的地方,其参数是每次运行时您给出的输入
这个. require 检查失败时停止整笔交易, 因此没有移动 . USDC 需要没有
地址和不导入: Sauce在每个链上都知道.
苏斯不是:
- 你写的不是合同. 你从不写,审计或部署你自己的智能合同. 你的程序运行在你的 锅一个属于钱包的小账户.
- 没有一个协议. Sauce不是一个交易所或贷款人的包装。 程序调用 任何协议 Sauce知道, 名字, 并把它们混合在一个交易中.
- 不是监护人. 你的钥匙留在你身边 Sauce 构建交易, 您的钱包标志 这个.
你能用它做什么吗
- 做许多步为一. 一次交易的交换和支付 如果交换也给了 一点都没有动静.
- 按名称使用协议 .
UniswapV3.Factory, (中文(简体) ),AaveV3.Pool, (中文(简体) ),USDC: Sauce知道133协议 以及其中14个连锁店的主要标志,没有地址可以复制。 链上 没有命名的代号,一个程序写过一次代号地址. - 在你付钱之前试试.
sauce simulate在链条的复制上运行您的程序, 因为它是正确的 现在 它不需要钥匙和钱, 并告诉你什么会移动. - 把它交给一个编码代理. 您编辑器中的代理可以写入、模拟和运行程序 你,用索瑟自己的工具.
开始
npm install -g @eco-incorp/sauce
sauce --version
你需要24号节点或者更新一点的 那就来 快速开始: 写入 上面的程序,免费试一下,然后在基地运行,大约十分钟后。 只有最后一步才会花 钱: 收费的一点ETH和1美元,在基地.
学习之路
这个 文档 所写的是按顺序遵循。 读取 苏斯是什么 图片,然后做七个教程:
- 快速启动:安装,免费尝试一个程序,在Base上运行.
- 写出您的第一个程序: 输入、检查和转移.
- 按名称交换:通过您命名的协议进行交易,并设定您将接受的最小值 .
- 索拉纳快速启动:关于索拉纳的同一项方案.
- 来自 TypeScript 的 Sauce: 编译程序并在自己的代码中构建其交易.
- 测试您的第一个程序: 在测试中运行一个程序, 在本地复制的链条上运行 .
- 您的第一个代理会话: 让一个编码代理编写并模拟一个程序 .
每个教程结尾都有一个链接到下一条. 之后的路径,手册如何引导每一个 完成一个任务,它的概念 解释如何Sauce工作, 和它的参考列表 每个链, 协议、令牌、命令和导入。 这个 词汇表 每个酱油字 旁边一个你已经知道.
当事情失败时, 解决问题 说错意味着什么 和怎么办。 这个 更改日志 记录每个 SDK 发布在 SauceScript,编译器和引擎.
更新一个已有的项目吗 ? 从编译器 2.5 移动到 2.6
签名的封面 Int256 值,仅使用ABI输入,EVM原子 try编号 :catch引擎/厨房
相对. 这个 语言参考 是精确语义的来源.
你会看到三个字
索斯从厨房借来的话 你的节目是食谱.
- 锅: 链上你自己的智能账户. 它属于你的钱包,拿着你的标志 计划花费, 并做出每一个电话。 每个程序都需要你的授权.
- 厨师: 在您的布特上运行一个程序的交易 。 每一步都会发生,或者没有.
- 厨房:合同规定Pots并收取每个厨师的小额平价费.
你的布特地址在它存在之前就已经知道,但一旦部署就资助它:一个厨房发布
有了新的布特代码 得到另一个地址. sauce run 第一次创造它需要它
sauce run --fund 创造它,然后移动你的标志 在一个去.
支持链
Sauce 发送交易 以利亚, (中文(简体) ), 基础, (中文(简体) ), 弧形 财务报告和审定财务报表 索拉纳其它链条
已知是一个预览链: 程序在那里编译, 并模拟所部署的发布
链条,但 sauce 命令构建并发送交易. 链条 列出全部,如何要求.
从您的申请中
将它安装在一个工程中,同样的编译器和注册是一个 TypeScript 库. 它在Node.js和一个浏览器中运行.
npm install @eco-incorp/sauce
此编译了 Base 离线程序: 它批准 Aave V3 的池 amount 联合国
供给它。 无所寄出.
import { routes } from "@eco-incorp/sauce";
const program = routes.compileSauceProgram(
"base",
`function main(amount: Uint256) {
USDC.approve(AaveV3.Pool, amount);
AaveV3.Pool.supply(USDC, amount, pot, 0);
}`,
);
// What a Pot cooks: the bytecode, with main's argument appended.
const args = routes.encodeEntryArguments(program, [1_000_000n]);
console.log(`${program.bytecode.length} bytes, plus ${args.length} of arguments`);
console.log(program.entryParams.map((p) => `${p.name}: ${p.type}`).join(", "));
USDC 财务报告和审定财务报表 AaveV3 非导入: 编译器在 Base 中找到它们. entryParams 这是什么 main
取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取的取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取.
来自 TypeScript 的酱油 穿过它
API 参考 列出每个导入,以及 实例
运行在每一个释放.
用编码代理
一个编码代理通过它的MCP服务器使用Sauce, sauce mcp,该代理开始于您的插件
机器能把索斯的命令当作工具 把它添加到您的项目中一次:
sauce mcp setup
将服务器写入命令所知道的每个编码代理的配置文件。 这个
服务器安装它第一次启动时需要的几个软件包; sauce runtime install 已经
并且是可选的.
您的第一个代理会话 穿过一个会话,和
mCP 服务器 覆盖每个代理和可以保存的钱包.
sauce skills install 复制软件包 代理技能,说明
写给代理,进入你的项目.
许可证
索塞公司根据以下规定获得许可证: Eco, Inc. 专有许可证1.1,这不是打开的 来源许可证。 包裹中的第三方材料及其许可证列于 第三次议会 NoTICES.md。 。 。 .