Skip to content

ATNIO/atn-node-js

Repository files navigation

ATN Client

atn-node-js

简体中文 | English
  atn-node-js 是基于 NodeWeb3 独立开发的程序包,是 ATN Client 的一部分。ATN ClientATN生态的面向用户的重要一环,是连接 DBotServer 开发者和 APP Developer 的 "桥梁"。ATN ClientATN 生态中所处位置如下图所示:

atn-ecosystem


ATN Client

ATN Client目前有以下三个版本:

未来会陆续提供 JavaPython等主流语言版本。

简单使用:

  • 初始化DBotServer AI服务调用通道:initConfig(privateKeyFile, dbotAddress);
  • 调用DBotServer AI服务:callDBotAI(dbotAddress, uri, method, option)

具体使用:

  • 创建AI调用通道: createChannel(receiverAddress, deposit)
  • 获取AI通道信息: getChannelDetail(receiverAddress)
  • 增加通道调用次数:topUpChannel(receiverAddress, value)
  • 关闭AI调用通道: closeChannel(receiverAddress, balance, closeSignature)
  • 调用DBotServer AI服务:callDBotAI(dbotAddress, uri, method, option)

快速开始

  我们精心准备了一个简单的示例:ATN Client Example(项目地址)方便你快速开发使用 atn-node-js

1. AI Market 上查询想要使用的 DBot AI 服务

🔗AI Market地址
例如:百度NLP

dbotAddress = "0xe4640e4005903e147ebb54dd9ddf17e85ce53303"
uri = '/lexer'
method = "post"

AI Market

2. 使用 atn-node-js

使用该包之前请确认本地已安装node环境(需要V8.0以上node版本)

$ node --version 

JS项目根目录安装atn-node-js

$ npm install atn-node-js --save

3. 开发示例

以下相关示例可参照ATN Client Example

  • 3.1 简单开发示例

    STEP 1:初始化DBotServer调用服务

    // 代码片段引入
    // 1. 引入 atn-node-js 包
    var Atn = require('atn-node-js');
    var key = require('../atnconfig/user1');
    const atn = new Atn(key.key);
    
    const dbotAddress = "0xe4640e4005903e147ebb54dd9ddf17e85ce53303"
    var privateKeyFile = "/libs/atnconfig/user.json";//自定义私钥生成所在文件(包含目录)
    
    // 2. 初始化调用
    const result = await atn.initConfig(privateKeyFile, dbotAddress);

    :如果已有私钥,可增加参数,如下所示:

    var privateKey = '0x01adc971225be058c7031b536375b79115ed58993c86a4ec4288f36fc9eb51b7'; 
    const result = await atn.initConfig(privateKeyFile, dbotAddress,privateKey);

    STEP 2:调用DBotServer

    var option = {
         headers: {
             "Content-Type": "application/json;charset=UTF-8"
           },
           responseEncoding: "GBK",
           method: "post",
           data: { text: "百度是一家高科技公司" }
       };
       var uri = '/lexer';
       var method = 'post';
       // 3. 调用DBotServer AI服务
       const result = await atn.callDBotAI(dbotAddress,uri,method,option);
  • 3.2 具体开发示例

    STEP 1:引入 atn-node-js 包,并在当前项目下配置个人账户私钥

    //  引入atn-node-js包
    var Atn = require('atn-node-js');
    //  配置个人账户(当前开发目录下配置json文件)
    var key = require('../atnconfig/user1');
    //  创建atn对象   
    const atn = new Atn(key.key);
    //  设置DBotAddress地址
    const dbotAddress = "0xe4640e4005903e147ebb54dd9ddf17e85ce53303";

    STEP 2:创建DBotServer调用通道

    // 代码片段  
    // 1. 引入 atn-node-js 包
    ...
    
    const deposit = 3e18  //可自定义
    // 2. 使用 步骤(1) 上查询的DBotServer 地址
    const result = await atn.createChannel(dbotAddress, deposit)

    STEP 3:创建 DBotServer 调用通道

    // 代码片段  
    // 1. 引入 atn-node-js 包
    ...
    
    // 2. 获取创建的调用通道信息
    const result = await atn.getChannelDetail(dbotAddress);

    STEP 4:调用指定地址的 DBotServer AI 服务

    // 代码片段
    // 1. 引入 atn-node-js 包
    ...
    // 调用DBotServer AI 服务
    // 2. 设置请求参数(百度nlp请求示例), option参数设置参见 callDBotAI参数具体详情
    var option = {
      headers: {
          "Content-Type": "application/json;charset=UTF-8"
        },
        responseEncoding: "GBK",
        method: "post",
        data: { text: "百度是一家高科技公司" }
    };
    var uri = '/lexer';
    var method = 'post';
    // 3. 调用DBotServer AI服务
    const result = await atn.callDBotAI(dbotAddress,uri,method,option);

    STEP 5:增加通道调用次数

    // 代码片段
    // 1. 引入 atn-node-js 包
    ... 
    
    
    var vaule = 10e18 ; //可自定义,按照单位可自己换算
    
    // 2. 增加调用次数
    const result = await  atn.topUpChannel(dbotAddress,vaule);

    STEP 6:关闭调用通道

    // 代码片段
    // 1. 引入 atn-node-js 包
    ...
    
    const dbotAddress = "0xe4640e4005903e147ebb54dd9ddf17e85ce53303";
    var vaule = 10e18 ; //可自定义,按照单位可自己换算
    
    // 2. 关闭调用通道
    const result = await atn.closeChannel(dbotAddress,balance);

接口文档


相关参考

About

Atn Client - Node版客户端

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages