瑞波币是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;
}
以上代码直接可用。足以满足基本需求.
AMD立功了,逼intel出六核i5
ADI发布相位噪声性能的PLL频率合成器ADF4153A
与大咖共话数智创新,3天后,深圳见!
PCB腐蚀:原因和预防方法
飞利浦推出摩天轮PD快充插座 用新方式重构用电环境
瑞波币最完整版教程,非常实用值得收藏
车细长轴如何控制弯曲变形?
基于Cortex-M3处理器和操作系统实现落地式交流充电桩的设计
介绍一款IDEA插件:Apipost-Helper-2.0
液晶面板价格持续下降,电视机售价也在下降
欧姆龙流量传感器:欧姆龙流量传感器在激光气体检测仪上的应用
SLIC电源设计-SLIC Power-Supply Des
开放Predix平台 GE或引发工业史上最大变革!
智慧地下水表解决方案如何实现
清华大学向全校师生及科研人员提供 MATLAB 和 Simulink
额温计对身体有害吗
关于单脉冲模式作移相输出
上海微系统所研究出谐振悬臂梁MEMS高端芯片
华为Mate10什么时候上市?最新消息:华为Mate10高颜值高配置来袭,这次还怼不过iPhone8吗?咱们走着瞧!
声发射的来源及发展