瑞波币最完整版教程,非常实用值得收藏

区块链

580人已加入

描述

瑞波币是Ripple网络的基础货币,它可以在整个ripple网络中流通,总数量为1000亿,并且随着交易的增多而逐渐减少,瑞波币的运营公司为Ripple Labs(其前身为OpenCoin)。

瑞波币是ripple系统中唯一的通用货币,其不同于ripple系统中的其他货币,其他货币比如CNY、USD不能跨网关提现的,换句话说,A网关发行的CNY只能在A网关提现,若想在B网关提现,必须通过ripple系统的挂单功能转化为B网关的CNY才可以到B网关提现。而瑞波币完全没有这方面的限制,它在ripple系统内是通用的。

下面为大家介绍下关于瑞波币的一些教程

1.创建钱包

2.信任网关

3.交易

4.交易恒星

5.交易其他网关资产

6.钱包追踪

7.钱包加速

8.机器人API

1.创建钱包

选择语言

瑞波是个分布式的区块链(账本)技术。由美国瑞波公司开发并维护。钱包可到社区里寻找。 国外资源链接下载。

打开钱包后,右下角选择中文。

创建钱包

无论是否有秘钥,都要创建一个新账户。

新用户选择打开一个空账户了。有秘钥的选另一个。

然后保存文件。这个文件就是你的本地钱包文件。

保存时会让你输入密码。这个密码以后就可以用来打开本地钱包。输入密码后点“加密账户”。

然后就会显示你的账号信息。下图红框就是你的地址,别人就可以向这个地址发送钱啦!

当然,你要先保存好密钥。点击“显示密钥”,然后确定。

把密钥抄下来,或者打印出来放到安全的地方。如果电脑坏了,可以用密钥恢复钱包。把刚才生成的wallet.txt放邮箱或网盘里也是个好方法。保存好了后,就点“嗯,我把密钥保存好了”。

恭喜,钱包已经创建好了。不过显示只有 0 XRP。把钱包地址发给朋友或者从交易所提现一些XRP激活吧。记住,只能发地址。密钥在任何情况下都不要告诉别人。

2.信任网关

钱包必须激活才可继续操作。建议用31 XRP激活钱包。叫朋友发送或从交易所提现出来相应数量即可。在“资金菜单”,选择“Gateways”,然后点右边的“Connect gateway”。

复制网关地址 rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y ,并用快捷键Ctrl+V粘贴,然后在货币类型里选择CNY。

点击“保存”后,会让你二次确认。英文提示“你正在连接网关,该网关账号会保管你的CNY资产”。注意:千万不要信任来历不明的网关。否则可能导致钱被置换,提不了现。

瑞狐网关已关闭,以上仅为示例!请自行研究使用其他网关。

3.交易

兑换 (交易 simple)

适用于小额市价成交。

先选择接收哪种货币。只有信任过的代码,才可以兑换。数字会变,多等一会儿更优惠!下图就是兑换100个XRP。

兑换不会冻结XRP,如果你的XRP不够买卖,你可以兑换10个XRP,就又能用好久了。建议一次兑换少量的数字凭证。比如每次10000 XRP。

添加交易对 (交易 高级)

交易是以交易对为核心的,为了方便,我们先添加交易对吧。点上面的add pair

复制网关地址 rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y ,并用快捷键Ctrl+V粘贴

买卖

买卖的过程就不多说了。注意价格哦。有人可是不小心1分钱卖掉了上千万的XRP。几秒钟一栋房子没了。千万不要把价格和数量填反啦。

只要有网关,通过添加各种交易对,可以交易各种外汇和数字货币。比如USD.Bitstamp/CNY.RippleFox, JPY.Mrr/CNY.RippleFox, BTC.Bitstamp/CNY.RippleFox, XLM.RippleFox/CNY.RippleFox

常用网关地址

Bitstamp (USD, BTC): rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B

4.交易恒星

添加恒星网关

恒星代码是XLM,也由瑞狐发行。强烈建议你先添加XLM网关。

添加恒星交易对

“交易 高级”那里点“add pair”,代码XLM。复制网关地址 rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y ,并用快捷键Ctrl+V粘贴

瑞波提现到恒星

在发送那里填入xlm@ripplefox.com

从恒星充值到网关

记得要添加网关后才能充值哦。打开恒星钱包,在发送那里填ripple地址即可

5.交易其他网关资产

以国外网关bitstamp为例,它发行了美元和比特币。Bitstamp收千分之二的转账费,卖出美元或比特币也视同转账。

充值和提现bitstamp的美元和比特币请到bitstamp.net上进行注册和认证。需提供英文的地址证明。具体情况请自行了解。

美元代码USD。复制网关地址 rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B ,并用快捷键Ctrl+V粘贴

6.钱包追踪

瑞波是数字货币,匿名性很强,如果密钥丢了,钱就没了。

不要给人密钥

不要接受“好心人”帮助

不要让人控制电脑,不要让人远程帮助

密钥或钱包文件多重备份,比如优盘、邮箱

如果发现资产被转移了,请用工具追踪。

工具在 https://xrpcharts.ripple.com/ 可找到。

如果最后资金转到了交易所的热钱包,可以联系对应的交易所调取提现记录。

瑞波里,谁有密钥,谁就是钱包的所有者。如果钱被转移了,请联系知道自己密钥的人。

目前能追回的被盗资产比例很小。提高自己的安全意识最重要。

7.钱包提速

添加Rippled节点,可以有效提升钱包速度。

钱包默认的2个节点很慢。所以要添加s1和s2节点。

单击右上角齿轮选择Settings,调出高级选项页面。

点击添加服务器并新增

s1.ripple.com 端口443 安全连接secure

s2.ripple.com 端口443 安全连接secure

点击保存后钱包需要重新打开,继续添加即可。

从此你的钱包将会运行得更流畅!如果还是连不上,请自行改善网络连接情况。瑞波服务器全部在国外。

8.机器人API

安装环境

ripple-lib版本在0.12后基本重写,最新的语法请到ripple.com/build上看。

如果你用网页编程:可以直接用右键保存 ripple-0.12.0-min.js

如果你用node.js,请安装node后,使用命令 npm install ripple-lib@0.12.0

求例

var Remote = require(‘ripple-lib’).Remote;

var Amount = require(‘ripple-lib’).Amount;

var Account = require(‘ripple-lib’).Account;

var remote_config = {

max_listeners : 100,

trace : false,

trusted : true,

local_signing : true,

connection_offest : 60,

servers : [ {host : ‘s-west.ripple.com’,port : 443, secure : true, pool : 3},

{host : ‘s-east.ripple.com’, port : 443, secure : true, pool : 3} ]

};

var remote = new Remote(remote_config);

var TIMEOUT = 20000;

var account = “rBMva6Js5JuGp9AsdwTWeiPxuXpnA1WuUL”;

var secret = “sssssssssssssssssssss”;

console.log(‘Connecting.。.’);

remote.connect(function() {

remote.setSecret(account, secret);

console.log(‘Connected.’);

//查询XRP

accountInfo(account, function(err, data){

if (err) {

console.error(err);

} else {

//console.log(data);

var xrp = data.account_data.Balance / 1000000;

console.log(‘I have %s XRP.’, xrp);

}

});

//查询其他货币

accountLines(account, function(err, data){

if (err) {

console.error(err);

} else {

//console.log(data);

data.lines.forEach(function(line) {

var curr = line.currency;

var balance = line.balance;

var issuer = line.account;

console.log(‘I have %s %s (%s)。’, balance, curr, issuer);

});

}

});

//查询委托单

accountOffers(account, function(err, offers){

if (err) {

console.error(err);

} else {

console.log(offers);

}

});

//测试买卖,需要正确的用户名和密钥

testOffers();

});

function testOffers() {

var buy_amount = createAmount(100, ‘XRP’, ‘’);

var sell_amount = createAmount(1, ‘CNY’, ‘rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y’);

createOffer(account, ‘buy’, buy_amount, sell_amount, function(err, seq) {

if (err) {

console.error(err);

} else {

console.log(seq);

accountOffers(account, function(err, offers){

console.log(‘After create’, offers);

cancelOffer(account, seq, function(err){

accountOffers(account, function(err, offers){

console.log(‘After cancel’, offers);

});

});

});

}

});

}

function accountInfo(address, callback) {

var request = remote.request_account_info({account: address})

.on(‘success’, function(data){ callback(null, data);})

.on(‘error’, function(e){

callback(e, null);

});

request.timeout(TIMEOUT, function(){

callback(‘timeout’, null);

});

try {

request.request();

} catch (e) {

callback(e, null);

}

}

function accountLines(address, callback) {

var request = remote.request_account_lines({account: address})

.on(‘success’, function(data){ callback(null, data);})

.on(‘error’, function(e){

callback(e, null);

});

request.timeout(TIMEOUT, function(){

callback(‘timeout’, null);

});

try {

request.request();

} catch (e) {

callback(e, null);

}

}

function accountOffers(address, callback) {

var request = remote.request_account_offers({account: address})

.on(‘success’, function(data){parseOffers(data, callback);})

.on(‘error’, function(e){

console.error(‘Check Order error.’, e);

callback(‘AccountOfferErr’, null);

});

request.timeout(TIMEOUT, function(){

callback(‘timeout’, null);

});

try {

request.request();

} catch (e) {

callback(e, null);

}

}

function parseOffers(data, callback) {

var offers = {};

data.offers.forEach(function(offerData) {

var order = {};

var gets = Amount.from_json(offerData.taker_gets);

var pays = Amount.from_json(offerData.taker_pays);

order.type = (offerData.flags === 0) ? ‘buy’ : ‘sell’;

order.gets_currency = gets.currency().to_human();

order.gets_issuer = gets.issuer().to_json();

order.gets_value = (order.gets_currency == ‘XRP’) ? gets.to_number()/1000000 : gets.to_number();

order.pays_currency = pays.currency().to_human();

order.pays_issuer = pays.issuer().to_json();

order.pays_value = (order.pays_currency == ‘XRP’) ? pays.to_number()/1000000 : pays.to_number();

order.price = (order.type == ‘buy’) ? order.gets_value/order.pays_value : order.pays_value / order.gets_value;

order.seq = offerData.seq;

offers[order.seq] = order;

});

callback(null, offers);

}

function createOffer(address, type, buy_amount, sell_amount, callback) {

var self = this;

var transaction = remote.transaction();

transaction.offer_create({

from : address,

buy : buy_amount,

sell : sell_amount

});

if (type === ‘sell’) {

transaction.set_flags(‘Sell’);

};

transaction.on(‘proposed’, function(res) {

console.log(‘Offer proposed.’ + res.tx_json.Sequence);

});

transaction.on(‘success’, function(res) {

console.log(‘Offer success.’ + res.tx_json.Sequence);

callback(null, res.tx_json.Sequence);

});

transaction.on(‘error’, function(res) {

console.error(‘Offer error. ’);

console.error(JSON.stringify(res));

callback(‘CreateOfferErr’, 0);

});

var buy_currency = buy_amount.currency().to_human();

var buy_value = (buy_currency == ‘XRP’) ? buy_amount.to_number()/1000000 : buy_amount.to_number();

var sell_currency = sell_amount.currency().to_human();

var sell_value = (sell_currency == ‘XRP’) ? sell_amount.to_number()/1000000 : sell_amount.to_number();

var price = (type == ‘buy’) ? sell_value / buy_value : buy_value / sell_value;

console.log(‘Create offer: ’ + type + ‘ ’ + buy_value + buy_currency + ‘ ’ + sell_value + sell_currency + ‘ Price: ’ + price);

try {

transaction.submit();

} catch (e) {

console.error(‘Offer submit error. ’, e);

callback(‘CreateOfferErr’, 0);

}

}

function cancelOffer(address, seq, callback) {

var transaction = remote.transaction();

transaction.offer_cancel(address, seq);

transaction.on(‘success’, function(res) {

console.log(‘Cancel offer success. ’ + seq);

callback(null)

});

transaction.on(‘error’, function(res) {

console.error(‘Cancel offer error. ’ + seq);

console.error(JSON.stringify(res));

callback(‘CancelErr’);

});

try {

transaction.submit();

} catch (e) {

console.error(‘Cancel submit error. ’, e);

callback(‘CancelErr’);

}

console.log(‘Cancel offer - ’ + seq + ‘。’);

}

function createAmount(value, curr, issuer) {

var amt = Amount.from_human(value + curr);

amt.set_issuer(issuer);

return amt;

}

以上代码直接可用。足以满足基本需求.

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分