Jupiter是Solana区块链上的去中心化交易所(DEX)聚合器,旨在彻底改变DeFi的可访问性和用户体验。Jupiter平台于2021年推出,通过汇总Solana生态系统内多个去中心化交易所的数据,帮助用户发现最佳交易价格。它提供限价订单和成本平均(DCA)等高级交易功能,旨在提供无缝且高效的交易体验。几个重点:1.流动性聚合器2.限价单3.DCA平均成本4.跨链桥聚合流动性聚合器Jupiter的流动性聚合器技术是其核心竞争力之一。在传统的DEX模型中,每个交易所的流动性池是孤立存在的,用户在进行资产交换时,往往需要自己寻找最佳的交易池以获得最优的交易价格,这不仅费时费力,而且由于流动性分散,很难保证交易的最优性。Jupiter的流动性聚合器技术,能够跨越Solana生态内的众多流动性池,通过算法自动寻找并聚合最优的流动性资源,为用户提供一站式的最佳交易路径。限价订单一般来说DEX是没有限价单功能的,但是jupiter提供了这个功能。主要的办法就是通过获取dex的价格,然后进行实时监控。市场价格达到交易者设定的点时,它就会执行交易。如果链上流动性不足以满足订单规模,则会以较小的部分执行交易,直到订单完成。平均成本法DCA通过将资金分成若干等额部分,在预定的时间间隔内逐步执行买入或卖出的交易。例如:如果您计划投资1000USDC购买SOL,可以将其设置为每隔1小时购买10USDC的SOL,直到全部资金用完。如果市场价格上涨或下跌,您的购买均价会基于这些交易点形成一个“平均价格”,从而避免一次性投资时遇到价格高峰。跨链桥聚合Jupiter的桥梁聚合功能通过整合多个跨链桥(如Wormhole、Allbridge等),为用户提供最佳的跨链资产转移体验。它能够根据费用、流动性和速度智能优化路径,支持在Solana和其他区块链(如Ethereum、Polygon)之间的无缝转移。用户只需在界面中选择资产和目标链,Jupiter即可自动完成多步操作,实现高效、便捷且成本最低的跨链交易。这使得Jupiter成为Solana生态中跨链流动性的核心工具之一。上面这些都是废话,下面直接说技术文档:https://station.jup.ag/docs/api我主要是为了用jup询价,所以用的这个:#Unitpriceof1JUP&1SOLbasedontheDerivedPriceinUSDChttps://api.jup.ag/price/v2?ids=JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN,So11111111111111111111111111111111111111112{"data":{"So11111111111111111111111111111111111111112":{"id":"So11111111111111111111111111111111111111112","type":"derivedPrice","price":"133.890945000"},"JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN":{"id":"JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN","type":"derivedPrice","price":"0.751467"}},"timeTaken":0.00395219}好处是自己计算amm是sol本位,用jup算出来的是U本位
转载https://blog.csdn.net/qq_37893505/article/details/89878653大佬写的很好。buildscript{repositories{//jcenter()//google()maven{url'https://maven.aliyun.com/repository/jcenter'}maven{url'https://maven.aliyun.com/repository/google'}}...}allprojects{repositories{//jcenter()//google()maven{url'https://maven.aliyun.com/repository/jcenter'}maven{url'https://maven.aliyun.com/repository/google'}}}
androidstudio的androidX版本:因为androidstudio新版本的项目目录下的build.gradle文件中没有allprojects,所以在项目目录下的settings.gradle文件中增加dependencyResolutionManagement{repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)repositories{//加上下面这两行,解决导入鸿洋okhttputils不识别的问题jcenter()maven{url'https://jitpack.io'}}}转载自:https://blog.csdn.net/MoonAndroid/article/details/127101817
因为onResponse和onFailure都是回调函数需要在等待post请求发送并收到回执之后内部类中才会有数据,所有外部使用回执之后的数据必须使用观察者模式,否则在拿到回执之前数据就会是空值,程序执行到这必然产生崩溃。错误代码示例:call.enqueue(newCallback<EditResult>(){@OverridepublicvoidonResponse(Call<EditResult>call,Response<EditResult>response){Log.d("asdasdasd",response.toString());editResult[0]=response.body();}@OverridepublicvoidonFailure(Call<EditResult>call,Throwablet){}});editResult[0]=response.body();这一句就是错误的语句,应当改为观察者模式