Bitcoin price in December 2011
When bitcoin first appeared in 2009, its price was less than 1 cent. One dollar could be converted into 1300 bitcoins, that is to say, seven yuan could be converted into 1300 bitcoins
on May 5, 2017, bitfinex, an overseas digital currency trading platform, quoted a price. Bitcoin once hit US $1700, about RMB 11737
extended information:
in China, some Taobao stores have also begun to accept the use of bitcoin, and businesses will graally increase
in October 2013, the first bitcoin quarterly, one bit, was released
on October 15, 2013, the network accelerator service of the network announced its support for bitcoin
on October 26, 2013, btcmini reported that GBL was hacked
on October 31, 2013, Lei Teng, a famous Internet lawyer, proposed the event of "filing a case to investigate the closure of GBL bitcoin trading platform as soon as possible", analyzed the "value function" and "use function" of bitcoin, and bitcoin should be governed by relevant laws
on December 5, 2013, notice of the Ministry of instry and information technology of the people's Bank of China, China Banking Regulatory Commission, China Securities Regulatory Commission and China Insurance Regulatory Commission on preventing bitcoin risk: bitcoin is a specific virtual commodity; Bitcoin trading is a kind of commodity trading on the Internet. Ordinary people have the freedom to participate in it at their own risk
on September 4, 2017, the announcement of the people's Bank of China Central Network Information Office, Ministry of instry and information technology, State Administration for Instry and commerce, China Banking Regulatory Commission, China Securities Regulatory Commission and China Insurance Regulatory Commission on preventing the risk of token issuance financing: it is prohibited to engage in token issuance financing activities (ICO)
the trading platform shall not engage in the exchange business between legal tender and token, or virtual currency, or buy or sell token or virtual currency as a central counter party, or provide pricing, information intermediary and other services for token or virtual currency
on November 2, 2018, the people's Bank of China released the 12th topic of China financial stability report 2018, which talked about "encrypted assets"
When bitcoin first appeared in 2009, its price was less than 1 cent. One dollar could be converted into 1300 bitcoins, that is to say, seven yuan could be converted into 1300 bitcoins. On May 5, 2017, bitfinex, an overseas digital currency trading platform, quoted a price. Bitcoin once hit US $1700, or about RMB 11737
the concept of bitcoin was first proposed by Nakamoto on November 1, 2008, and was officially born on January 3, 2009. According to the idea of Nakamoto, the open source software is designed and released, and the P2P network on it is constructed. Bitcoin is a virtual encrypted digital currency in the form of P2P. Point to point transmission means a decentralized payment system
unlike all currencies, bitcoin does not rely on specific currency institutions. It is generated by a large number of calculations based on specific algorithms. Bitcoin economy uses the distributed database composed of many nodes in the whole P2P network to confirm and record all transactions, and uses the design of cryptography to ensure the security of all aspects of currency circulation
the decentralized feature and algorithm of P2P can ensure that it is impossible to artificially control the value of bitcoin by mass manufacturing. The design based on cryptography can make bitcoin only be transferred or paid by the real owner. This also ensures the anonymity of money ownership and circulation transactions. The biggest difference between bitcoin and other virtual currencies is that the total amount of bitcoin is very limited and it has a strong scarcity
extended data:
transaction method
bitcoin is e-cash similar to e-mail, and both parties need "bitcoin wallet" similar to e-mail and "bitcoin address" similar to e-mail address. Just like sending and receiving e-mail, the remitter pays bitcoin directly to the other party through a computer or smart phone according to the recipient's address. The following table lists some websites that download bitcoin wallets and addresses for free
a bitcoin address is a string of about 33 characters long, consisting of letters and numbers, always starting with 1 or 3, such as & quot& quot; Bitcoin software can generate address automatically, and it doesn't need to exchange information online, so it can be offline. There are a lot of bitcoin addresses available
the bitcoin address and private key appear in pairs, and their relationship is just like the bank card number and password. A bitcoin address is like a bank card number, which is used to record how much bitcoin is stored in the address. You can generate bitcoin address to store bitcoin at will. When each bitcoin address is generated, a corresponding private key of the address will be generated
this private key can prove ownership of the bitcoin at the address. The bitcoin address can be simply understood as the bank card number, and the private key of the address can be understood as the password of the corresponding bank card number. Only when you know the bank password can you use the money on the bank card number. Therefore, please keep the address and private key when using bitcoin wallet
source of reference: network bitcoin
"Spring Festival red envelope" refers to the rising market of bitcoin ring the Spring Festival. Big V jiangzhuo'er once predicted the end of bitcoin on Weibo, and then it stopped the sharp decline since November 2018 and began to shock. In the same microblog, it was also mentioned that bitcoin bottomed out before the Spring Festival, which was thought by fans to be very likely to come true
latest bitcoin Market:
bitcoin (BTC) market_ Golden Finance
24459.78 & # 160; RMB 53.02 + 0.22%
02-11 14:27 Trading
according to the data of coindesk digital currency trading platform, the price of bitcoin once fell below US $6000 in 18 years, which has dropped by 70% compared with the highest value of US $20000 in 2017
"the price movements we are seeing now may seem drastic, but they are quite normal for this market." Etiro's senior market analyst, MATI Greenspan, wrote in an email to CNBC
with the decline of bitcoin, most digital currencies are affected, and other digital currencies are not much better. Most digital currencies are down by more than 10%. But in the long run, the future of digital currency is worth looking forward to.
1. Transfer platform: the current domestic trading is closed, and it can be transferred to foreign trading platforms
2. Cash withdrawal: users who do not want to hold bitcoin can make cash withdrawal
Third, storage: users who do not want to trade but continue to hold coins can save them in bitcoin wallets such as coin packets.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <netdb.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <netinet/in.h>
#include <netinet/if_ether.h>
#include <netpacket/packet.h>
#include <net/ethernet.h>
#include <net/if.h>
#include <arpa/inet.h>
#include <errno.h>
/* 接收缓冲区大小 */
#define RCV_BUF_SIZE 1024 * 5
/* 接收缓冲区 */
static int g_iRecvBufSize = RCV_BUF_SIZE;
static char g_acRecvBuf[RCV_BUF_SIZE] = {0};
/* 物理网卡接口,需要根据具体情况修改 */
static const char *g_szIfName = "eth1";
/* 以太网帧封装的协议类型 */
static const int g_iEthProId[] = { ETHERTYPE_PUP,
ETHERTYPE_SPRITE,
ETHERTYPE_IP,
ETHERTYPE_ARP,
ETHERTYPE_REVARP,
ETHERTYPE_AT,
ETHERTYPE_AARP,
ETHERTYPE_VLAN,
ETHERTYPE_IPX,
ETHERTYPE_IPV6,
ETHERTYPE_LOOPBACK
};
static const char g_szProName[][24] = {
"none", "xerox pup", "sprite", "ip", "arp",
"rarp", "apple-protocol", "apple-arp",
"802.1q", "ipx", "ipv6", "loopback"
};
/* 输出MAC地址 */
static void ethmp_showMac(const int iType, const char acHWAddr[])
{ int i = 0;
if (0 == iType)
{
printf("SMAC=[");
}
else
{
printf("DMAC=[");
}
for(i = 0; i < ETHER_ADDR_LEN - 1; i++)
{
printf("%02x:", *((unsigned char *)&(acHWAddr[i])));
}
printf("%02x] ", *((unsigned char *)&(acHWAddr[i])));
}
/* 物理网卡混杂模式属性操作 */
static int ethmp_setPromisc(const char *pcIfName, int fd, int iFlags)
{ int iRet = -1;
struct ifreq stIfr;
/* 获取接口属性标志位 */
strcpy(stIfr.ifr_name, pcIfName);
iRet = ioctl(fd, SIOCGIFFLAGS, &stIfr);
if (0 > iRet)
{ perror("[Error]Get Interface Flags");
return -1;
}
if (0 == iFlags)
{ /* 取消混杂模式 */
stIfr.ifr_flags &= ~IFF_PROMISC;
}
else
{ /* 设置为混杂模式 */
stIfr.ifr_flags |= IFF_PROMISC;
}
iRet = ioctl(fd, SIOCSIFFLAGS, &stIfr);
if (0 > iRet)
{ perror("[Error]Set Interface Flags");
return -1;
}
return 0;
}
/* 获取L2帧封装的协议类型 */
static char *ethmp_getProName(const int iProNum)
{ int iIndex = 0;
for(iIndex = 0; iIndex < sizeof(g_iEthProId) / sizeof(g_iEthProId[0]); iIndex++)
{ if (iProNum == g_iEthProId[iIndex])
{
break;
}
}
return (char *)(g_szProName[iIndex + 1]);
}
/* Init L2 Socket */
static int ethmp_initSocket()
{ int iRet = -1;
int fd = -1;
struct ifreq stIf;
struct sockaddr_ll stLocal = {0};
/* 创建SOCKET */
fd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
if (0 > fd)
{ perror("[Error]Initinate L2 raw socket");
return -1;
}
/* 网卡混杂模式设置 */
ethmp_setPromisc(g_szIfName, fd, 1);
/* 设置SOCKET选项 */
iRet = setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &g_iRecvBufSize,sizeof(int));
if (0 > iRet)
{ perror("[Error]Set socket option");
close(fd);
return -1;
}
/* 获取物理网卡接口索引 */
strcpy(stIf.ifr_name, g_szIfName);
iRet = ioctl(fd, SIOCGIFINDEX, &stIf);
if (0 > iRet)
{ perror("[Error]Ioctl operation");
close(fd);
return -1;
}
/* 绑定物理网卡 */
stLocal.sll_family = PF_PACKET;
stLocal.sll_ifindex = stIf.ifr_ifindex;
stLocal.sll_protocol = htons(ETH_P_ALL);
iRet = bind(fd, (struct sockaddr *)&stLocal, sizeof(stLocal));
if (0 > iRet)
{ perror("[Error]Bind the interface");
close(fd);
return -1;
}
return fd;
}
/* 解析Ethernet帧首部 */
static int ethmp_parseEthHead(const struct ether_header *pstEthHead)
{ unsigned short usEthPktType;
if (NULL == pstEthHead)
{ return -1;}
/* 协议类型、源MAC、目的MAC */
usEthPktType = ntohs(pstEthHead->ether_type);
printf(">>>\nEth-Pkt-Type:0x%04x(%s) ", usEthPktType, ethmp_getProName(usEthPktType));
ethmp_showMac(0, pstEthHead->ether_shost);
ethmp_showMac(1, pstEthHead->ether_dhost);
return 0;
}
/* 解析IP数据包头 */
static int ethmp_parseIpHead(const struct ip *pstIpHead)
{ struct protoent *pstIpProto = NULL;
if (NULL == pstIpHead)
{ return -1;}
/* 协议类型、源IP地址、目的IP地址 */
pstIpProto = getprotobynumber(pstIpHead->ip_p);
if(NULL != pstIpProto)
{ printf("\nIP-Pkt-Type:%d(%s) ", pstIpHead->ip_p, pstIpProto->p_name); }
else
{ printf("\nIP-Pkt-Type:%d(%s) ", pstIpHead->ip_p, "None");}
printf("SAddr=[%s] ", inet_ntoa(pstIpHead->ip_src));
printf("DAddr=[%s]\n", inet_ntoa(pstIpHead->ip_dst));
return 0;
}
/* 数据帧解析函数 */
static int ethmp_parseFrame(const char *pcFrameData)
{ int iRet = -1;
struct ether_header *pstEthHead = NULL;
struct ip *pstIpHead = NULL;
/* Ethnet帧头解析 */
pstEthHead = (struct ether_header*)g_acRecvBuf;
iRet = ethmp_parseEthHead(pstEthHead);
if (0 > iRet)
{ return iRet;}
/* IP数据包类型 */
pstIpHead = (struct ip *)(pstEthHead + 1);
iRet = ethmp_parseIpHead(pstIpHead);
return iRet;
}
/* 捕获网卡数据帧 */
static void ethmp_startCapture(const int fd)
{ int iRet = -1;
socklen_t stFromLen = 0;
/* 循环监听 */
while(1)
{ /* 清空接收缓冲区 */
memset(g_acRecvBuf, 0, RCV_BUF_SIZE);
/* 接收数据帧 */
iRet = recvfrom(fd, g_acRecvBuf, g_iRecvBufSize, 0, NULL, &stFromLen);
if (0 > iRet)
{ continue;}
/* 解析数据帧 */
ethmp_parseFrame(g_acRecvBuf);
}
}
/* Main */
int main(int argc, char *argv[])
{ int iRet = -1;
int fd = -1;
/* 初始化SOCKET */
fd = ethmp_initSocket();
if(0 > fd) {
return -1;
}
/* 捕获数据包 */
ethmp_startCapture(fd);
/* 关闭SOCKET */
close(fd);
return 0;
}
编译命令
gcc -o a a.c
./a
实现效果图
...
>>>Eth-Pkt-Type:0x0800(ip) SMAC=[00:1a:92:ef:b6:dd] DMAC=[00:24:7e:dc:99:18] IP-Pkt-Type:6(tcp) SAddr=[192.168.0.111] DAddr=[192.168.0.100]
>>> Eth-Pkt-Type:0x0800(ip) SMAC=[00:24:7e:dc:99:18] DMAC=[00:1a:92:ef:b6:dd] IP-Pkt-Type:6(tcp) SAddr=[192.168.0.100] DAddr=[192.168.0.111]
>>> Eth-Pkt-Type:0x0800(ip) SMAC=[00:24:7e:dc:99:18] DMAC=[00:1a:92:ef:b6:dd] IP-Pkt-Type:1(icmp) SAddr=[192.168.0.100] DAddr=[192.168.0.111]
>>> Eth-Pkt-Type:0x0800(ip) SMAC=[00:1a:92:ef:b6:dd] DMAC=[00:24:7e:dc:99:18] IP-Pkt-Type:1(icmp) SAddr=[192.168.0.111] DAddr=[192.168.0.100]
>>> Eth-Pkt-Type:0x0800(ip) SMAC=[00:1a:92:ef:b6:dd] DMAC=[00:24:7e:dc:99:18] IP-Pkt-Type:6(tcp) SAddr=[192.168.0.111] DAddr=[192.168.0.100]
...
although bitcoin is still very popular in recent years, some people make a lot of money by bitcoin, but others are trapped in it. Of course, this kind of virtual currency has great risks. We should not think about this kind of speculative way to make money. It's easy to get ourselves in, but it's hard to get out. And when it comes to bitcoin, many people are not familiar with it. They don't even know how to do it. Therefore, to be honest and to make money is the most risk-free and stable. What do you think of this