区块链三种网络地址btc\eth\fil

BTC地址不同格式的区别
前言:本文内容总结于其他网络资料以及个人实际操作所得。
一 不同格式地址简介
1 开头的地址,是 P2PKH(pay-to-public-key-hash) 地址,也就是最原始的地址,称之为普通的BTC地址;
3开头的地址,是P2SH(pay-to-script-hash)地址,内部也需要是segwit,即隔离见证地址;
bc1开头的地址,是BECH32编码的地址,是专为segwit开发的地址格式,也是隔离见证地址。
3开头的地址和bc1开头的地址,相比于1开头的地址,更小且手续费更低,可提升BTC区块打包速度。
二 其他简单介绍
同一个BTC私钥虽然对应着3个不同的BTC地址,但是这3个地址都是正常地址,都是可以使用的。
3个地址的"余额"是彼此独立的,假如分别向这3个地址转账1BTC,那么在区块链浏览器查询地址"余额"的时候,每个地址的"余额"也分别会显示1BTC,而不是3BTC。
BTC地址没有余额的概念,只有UTXO(unspent transaction output),调用节点查询余额 getbalance 参数是account,其背后是调用了另外一个API -> listtransactions 参数是该account,然后统计所有记录的 amount,全部加起来就是返回的余额结果。
每次往钱包节点导入一个私钥(指定account),该account下都会生成对应的3个地址,火币钱包是1开头的。
三 顺便提一下BTC私钥的不同格式
原始格式 32 字节,256位的0或者1
hex格式,hex格式又分为压缩和非压缩,压缩和非压缩的区别在于 -> 压缩格式 = 非压缩格式 + 01 ,所以说压缩格式并不是真的压缩了,反而多了一个后缀01
WIF(wallet-import-format)格式,5开头
WIF-compressed(WIF压缩格式),K 或者 L 开头
说明:hex非压缩格式私钥只能转换成WIF格式私钥;hex压缩格式私钥只能转换成WIF-compressed格式私钥。

Eth地址
以太坊地址是 唯一标识符 unique identifiers,它们是使用单向哈希函数(Keccak-256)从公钥或合约派生的。
以太坊中账户是一个20字节160位(通常用40个16进制数字表示)的地址标识符,用来识别账户。
分类:

外部账户:通常叫账户,被私钥控制且没有任何代码与之关联(为人所拥有)。
合约账户:通常叫合约,被它们的合约代码控制且有代码与之关联,也就是说该账户为内部代码拥有控制。
功能:

1、外部账户可以通过创建、用自己的私钥来对交易进行签名,来发送消息给另一个外部账户或合约账户。
2、在两个外部账户之间传送的消息只是一个简单的价值转移。
3、从外部账户到合约账户的消息会激活合约账户的代码,允许它执行各种动作。(比如转移代币、写入内部存储、新代币、执行运算,创建一个新的合约)。注意外部账户原则上不能被个人所控制的,如果它们被人类“控制”,那是通过程序设定它们被具有特定地址的外部账户控制,进而被拥有外部账户私钥的人控制!

合约账户不可以自己发起一个交易。合约账户只有在接收到一个交易之后(从一个外部账户或另一个合约账户处),为了响应此交易而触发一个交易。

fil钱包地址
可以转入链上资产到对应公链地址或转出到同公链的其他地址。
Filecoin的地址格式:network + protocol + payload + checksum
network,网络前缀,f用于文件币主网或t用于文件币测试网
protocol,采用不同加密协议的地址类型,当前有0、1、2、3四种类型,其中0地址为简单的ID,没有公共密钥。
payload,有效载荷,包含采用不同编码或加密协议产生的公共密钥的信息。
checksum,校验和

network protocol payload checksum
‘f’ 或 ‘t’ 0 leb128-varint -
‘f’ 或 ‘t’ 1 blake2b-160 ( secp256k1-PubKey ) 4 bytes
‘f’ 或 ‘t’ 2 SHA256 (Random) ) 4 bytes
‘f’ 或 ‘t’ 3 BLS PubKey 4 bytes
比特币采用UTXO模型,
私密性比较强,理论上可以为每一笔输出设置一个地址。
无需维护余额等状态值。
UTXO是独立数据记录,可以通过并行极大的提升区块链交易验证速度。
无需关心事务问题,只需要关心输出脚本即可。
UTXO无法分割,每次交易都需要多个输出,分别为支出与找零。

以太坊采用账户模型
可以快速获取账户的余额,而比特币需要将指定地址所拥有的所有UTXO中的未花费交易总值整合。
节省空间,因为每笔交易只有一个输入一个输出。
可以较容易的实现图灵完备的智能合约。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您希望在 TradingView 上加载 BTC 数据,并根据该数据下单 ETH,您可以使用 `security()` 函数来加载 ETH 数据。下面是一个例子: ``` //@version=4 strategy("My Strategy") btc_data = security("COINBASE:BTCUSD", timeframe.period, close) eth_data = security("COINBASE:ETHUSD", timeframe.period, close) buy_signal = crossover(sma(btc_data, 10), sma(btc_data, 50)) sell_signal = crossunder(sma(btc_data, 10), sma(btc_data, 50)) if (buy_signal) strategy.entry("My Long Entry Id", strategy.long) strategy.order("My Long Entry Id", false, qty=100/eth_data, limit=eth_data, oco=1) if (sell_signal) strategy.entry("My Short Entry Id", strategy.short) strategy.order("My Short Entry Id", true, qty=100/eth_data, limit=eth_data, oco=2) strategy.exit("My Long Entry Id", "My Long Exit Id", stop=close * 0.9) strategy.exit("My Short Entry Id", "My Short Exit Id", stop=close * 1.1) ``` 这个策略加载了 COINBASE:BTCUSD 和 COINBASE:ETHUSD 的数据,并使用 BTC 数据生成交易信号。当 BTC 的 10 日移动平均线上穿 50 日移动平均线时,会产生一个买入信号,当 BTC 的 10 日移动平均线下穿 50 日移动平均线时,会产生一个卖出信号。在这个策略中,下单时使用了 `strategy.order()` 函数,它可以在指定的价位和数量下单,这里使用了 `100/eth_data` 计算以 BTC 为基础的 ETH 数量, `limit=eth_data` 设置以此价格下单, `oco=1` 和 `oco=2` 分别表示两个互斥的订单。在这个策略中,止损条件分别设置为买入价的 10% 和卖出价的 10%。 请注意,这只是一个示例策略,实际的交易策略需要更加复杂和全面的考虑。在进行实际交易之前,请确保您对市场有足够的了解,并根据您的交易计划调整您的策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值