Bitcoin price on December 4
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"
Bitcoin is just like the currency in the game, but no one releases bitcoin. Instead, it relies on a specific algorithm to generate , so now people looking for bitcoin also call themselves miners, but they rely on computers to mine
the rise of bitcoin is e to the restructuring of global risk assets , and the widening of investment channels for encrypted assets . Since the beginning of this year, the volatility of securities and foreign exchange markets has intensified, and global investors are looking for safe assets. Traditional safe asset gold is more dependent on the real economy and inflation expectations, Bitcoin is more like a sensitive index, gaining a certain asset hedging advantage
< EM > at this time today, the price of bitcoin is 2349 yuan, and the price of each platform is true EM >
< EM > at present, there is a way to make money: it is called moving bricks. That is to buy bitcoin from cheap platforms and sell it on expensive platforms EM >
< EM > to emphasize: never play bitcoin futures. Bitcoin will not collapse for the simple reason that there is an instry around bitcoin. If you want to know more about bitcoin, you can follow the microblog "things about bitcoin". This microblog is very good, and bitcoin news updates quickly EM >
< EM > James (investors holding 5-digit bitcoin) < / EM >
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.
ten years from now, the price of bitcoin is unknown On December 17, 2017, bitcoin reached an all-time high of $19850. On June 22, 2019, the price of bitcoin broke through the $10000 mark. Bitcoin prices fluctuated around 10200, rising nearly 7% in 24 hours
On June 26, the price of bitcoin broke through US $12000, a 17 month high since January last year. In the morning of June 27, the price of bitcoin was close to $14000, reaching a new high of the yeartherefore, the future price trend of bitcoin is uncontrollable
4, low transaction costs:
bitcoin can be remitted free of charge, but in the end, a transaction fee of about 1 bit will be charged for each transaction to ensure faster transaction execution
#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]
...
you can see the real-time market trend of bitcoin, which can be seen by time, daily K chart, weekly line, monthly line and annual line. It's really clear.
I think that the reason behind the sharp rise and fall of bitcoin is that funds are playing games and harvesting funds
bitcoin belongs to the ancestor of blockchain. At present, this concept is still in the research stage and has not been applied . Today, financial giants hold the most bits in the market, so they can easily control the price of bitcoin. From the end of 17, it soared to more than US $20000, and then began a round of sharp decline. Many bitcoin speculators entered the market after the sharp rise and were easily reaped by the big crocodiles
bitcoin is the earliest successful example of blockchain application. From the beginning, it was not worth money to now, it is more than 60000 US dollars. Unlike currency, which can reflect the economic situation of a country, bitcoin itself does not reflect the specific economic situation. Its value reflects the recognition of the market. If it is recognized, the price will be high. If it is not recognized, the price will be low. In the world, some countries admit that they can use it to buy things, while more countries do not
Of course, for such a high price, it also attracts global capital to play games. Therefore, today's market is even more exciting than roller coaster, and fluctuates fast and biginvestment is risky and must be cautious strong>
