当前位置: 首页 > news >正文

coingecko获取token price --php版

1.创建一个数据表

DROP TABLE IF EXISTS `txzh_token_price`;
CREATE TABLE `txzh_token_price`  (`id` int(11) NOT NULL AUTO_INCREMENT,`token_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '币种id',`symbol` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '币种符号',`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '币种名称',`price` decimal(18, 6) NULL DEFAULT NULL COMMENT '币种价格',`vs_currencies` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '换算币种',`update_time` int(10) NULL DEFAULT NULL COMMENT '更新时间',`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态:0=不更新 1=更新',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Compact;

2.php代码如下

<?phpnamespace app\im\controller;use GuzzleHttp\Client;
use app\im\model\mysql\User;
use app\im\model\mysql\TokenPrice;class Task
{/*** 获取代币价格* @return string */public function getTokenPrice(){// 需要的币种列表$tokenList = TokenPrice::where(array("status"=>1))->select();// 获取币种列表 $url2 = "https://api.coingecko.com//api/v3/coins/list"; $ids = '';foreach ($tokenList as $tokenInfo) {$ids .= $tokenInfo['token_ids'].",";}$client = new Client();$url = "https://api.coingecko.com/api/v3/simple/price?ids=".$ids."&vs_currencies=".$tokenInfo['vs_currencies'];$res = $client->request('GET', $url);if ($res->getStatusCode() != 200) {return false;}$resultData = $res->getBody();$resultDataArray = json_decode($resultData,true);foreach ($tokenList as $tokenInfo) {$price = $resultDataArray[$tokenInfo['token_ids']][$tokenInfo['vs_currencies']];$data = [];$data['price'] = $price;$data['update_time'] = time();TokenPrice::where(array("id"=>$tokenInfo['id']))->update($data);}return 'success';}
}

相关文章:

  • PTA模拟+数学分析
  • Linux中的文件类型
  • 分享常用的62 个九宫格抽奖及各种宫格效果源码
  • 【Linux】Centos7上安装MySQL5.7
  • phpstudy自定义安装mysql8.3并启动
  • Seata中四种模式的适用场景
  • Atomsk球形化合物建模方法
  • MySQL---索引
  • JS原型和原型链的理解
  • CSP - X - 2023 普及组初赛试题及解析
  • uniapp移动端 IOS系统下无法与webview通信
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Span)
  • c语言文件操作(中)
  • Android 14.0 SystemUI设置系统导航栏默认为系统手势导航
  • Selenium库原代码WebDriver及WebElement方法属性总结
  • 【译】JS基础算法脚本:字符串结尾
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • CSS实用技巧
  • es的写入过程
  • Java精华积累:初学者都应该搞懂的问题
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Linux链接文件
  • nginx 负载服务器优化
  • Solarized Scheme
  • Vue小说阅读器(仿追书神器)
  • 解决iview多表头动态更改列元素发生的错误
  • 力扣(LeetCode)56
  • 日剧·日综资源集合(建议收藏)
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 一起参Ember.js讨论、问答社区。
  • 正则学习笔记
  • No resource identifier found for attribute,RxJava之zip操作符
  • hi-nginx-1.3.4编译安装
  • 说说我为什么看好Spring Cloud Alibaba
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​2021半年盘点,不想你错过的重磅新书
  • #Java第九次作业--输入输出流和文件操作
  • #QT(智能家居界面-界面切换)
  • ${factoryList }后面有空格不影响
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (12)Hive调优——count distinct去重优化
  • (16)Reactor的测试——响应式Spring的道法术器
  • (2)(2.10) LTM telemetry
  • (C语言)逆序输出字符串
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (第27天)Oracle 数据泵转换分区表
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)Linux下编译安装log4cxx
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .net framework profiles /.net framework 配置