腾讯云之无服务器云函数

shooter · · 20826 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

使用腾讯的 无服务器云函数启动了一个服务,用golang代码生成以太坊的私钥跟地址。

https://service-exvd0ctl-1258120565.ap-beijing.apigateway.myqcloud.com/release/addr

genEthAddr.png

无服务器云函数是什么

腾讯云的无服务器云函数,跟 aws lambda类似,把一段代码放到云函数服务器上,设定好访问路径, 就可以对外访问了。之前若想发布1段20行代码执行的服务,你可能需要买个vps,现在用腾讯的云函数即可,灵活方便,省资源。

小程序

如果要做些工具类微信小程序,生成eth、btc地址,查看天气数据,雾霾指数,运行个云函数,小程序去请求即可。只要不保存大量数据, 搭建建服务器的费用可以省了。

云函数上使用golang

云函数服务支持的语言真不少,有 python nodejs java golang, 为什么选择golang了呢? python、nodejs 引入的类库,我不知道如何才能导入到云函数,java语法比较啰嗦,而golang 编译完二进制文件就能直接run了,实在是方便,为什么不用呢?

package main

import (
    "encoding/hex"
    "fmt"

    "github.com/ethereum/go-ethereum/crypto"
    "github.com/tencentyun/scf-go-lib/cloudfunction"
)

func main() {
    cloudfunction.Start(genEthAddr) //使用云函数的固定用法
}

func genEthAddr() (string, error) {
    key, _ := crypto.GenerateKey()

    privateKey := hex.EncodeToString(key.D.Bytes())
    address := crypto.PubkeyToAddress(key.PublicKey).Hex()

    fmt.Printf("privateKey: 0x%s\n", privateKey)
    fmt.Printf("addr: %s\n", address)

    return fmt.Sprintf("私钥: 0x%s 地址: %s", privateKey, address), nil
}

编译并打包

GOOS=linux GOARCH=amd64 go build -o main main.go
zip main.zip main

将打包好的zip文件上传到腾讯的云函数服务器,设定好访问路由,就可以使用了。

过段时间会放上一个小视频,介绍如何使用腾讯的云函数服务。


参考:

https://cloud.tencent.com/document/product/583/18032
https://cloud.tencent.com/document/product/583/9702
https://cloud.tencent.com/document/product/583/12513

https://cloud.tencent.com/document/product/583/12284 计费方式
https://cloud.tencent.com/document/product/583/12282 免费额度


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:shooter

查看原文:腾讯云之无服务器云函数

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

20826 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传