Stellar 学习笔记

#前言

    上个月24号提交了辞职信,经过一个月的交接时间,上周五正式离职,然后带着娃跟着姥爷来南宁老甜甜这呆几天。转眼间就毕业8年了,而这8年都呆在桂林...

    在交接的这段时间,新公司那边有一个项目需要使用Stellar做一个demo功能。我负责封装API接口,弄完后交给未曾见面的新同事@西米套数据。同时大领导@YY让大学子@h来给帮助我开发,提供各种科普咨询回复。感谢二位领导耐心解答。功能基本弄完了,在此做个笔记。留备


#Stellar

Stellar is a platform that connects banks, payments systems, and people. Integrate to move money quickly, reliably, and at almost no cost.

    Stellar 提供支付交易,数据存储在区块链上。官方提交多种开发语言API接口封装,而我的工作就是调用他们的接口..它主要有6大功能。


    1,Account:帐号系统,可以很方便创建帐号,然后返回public_key(以G开头,公钥,别人可以通过这个公钥转帐给你,同时通过这个公钥查询你一切的流水记录)和secret_key(私钥,交易时使用,不公开)。

    2,Assets:货币,你可以随意创建RMB,BTC符号,每个符号后都一个issuer(也是一个Account),当然,只有信任你的Account才会接受(需要 change-trust)。

    3,Offer : 交易,跟股票一样,可以挂单交易,比如你使用你Account拥有的RMB去购买BTC,你可以出价(price)与购买数据(amount)就可以挂单了。Stellar会自动匹配。如果匹配成功,就会自动交易,如果未匹配,就会丢在order_book里等待别人出价匹配。也提供撤单操作。

   4,Trade :交易记录,所有的交易都可以通过这个接口进行查询。Trade Aggregation 提供折线数据查询。

   5,OrderBook:挂单区,所有未成交的交易都在这等待匹配。

   6,Payment:转帐。比如你通过别人的公钥打赏别人,实际就是通过Payment进行转帐交易的。


#接口使用

    开发接口时,上面的接口基本都用到,最主要的是Offer与Payment功能。需要注意下面几点

    1,我是在官方提供的测试环境弄的(https://horizon-testnet.stellar.org ),创建的用户默认有10000XLM,以后的每笔交易都会扣除相应的费用。如果挂单交易,会冻结XLM,规则在这 (https://www.stellar.org/developers/guides/concepts/fees.html)

    2,如果报tx_bad 错误,那检查一下sign的帐户是否传错或请检查交易是否有足够的余额。

    3,tx_failed:可能是没有加入trust。

    4,cross self 的意思是你自己的买单卖单不能形成会成交的局面,你八毛卖,就不能挂单九毛买,只能挂八毛以下的。

    5,priceR是分子分线,主要是为了处理浮点数计算使用。

    6,op_low_reserve:XML不够,交易太多,被冻结了,需要更多的XML。



    收工,如果您发现上面有什么理解错了,麻烦帮助纠正。在此谢谢。