cinatra框架

cinatra框架是一个C++ Web App框架

cd ~
git clone https://github.com/qicosmos/cinatra.git
cd ~
mkdir -p cinatra-app/first
cd cinatra-app/first
touch main.cpp

在main.cpp中写入以下代码

#include <iostream>
using namespace std;

#include "../../cinatra/http_server.hpp"
using namespace cinatra;

int main()
{
    int max_thread_num = std::thread::hardware_concurrency();
    cout << max_thread_num << endl;
    http_server server(max_thread_num);
    server.listen("0.0.0.0", "8081");

    server.set_http_handler<GET, POST>("/", [](const request& req, response& res) {
        res.set_status_and_content(status_type::ok, "hello world");
    });

    server.run();
    return 0;
}

然后编译

g++ main.cpp -std=c++17 -lboost_system -lpthread

拥有权和使用权分离的合约

拥有权和使用权分离,是一个有趣的思想,下面我们讨论下如何实现。

场景分析

  • 场景1:A创建了一个作品,然后这个作品投入市场,用户B使用了A的作品,需要给A支付费用(非购买费用,只是支付版权费),但是作品还是A的。
  • B盗版的话,A维权困难。

  • 场景2:由于A无法运作他的作品,他只要把自己的作品,贱卖给某个运营公司C,C通过运作将作品授权给A使用,收取版权费,这样避免了B盗版的问题。
  • 由于运营公司的介入,分工明确之后,运作相对容易。但是C维权成本高,导致C只能低价收购作品,但是版权费高,导致市场摩擦大。

  • 场景3:A将自己的作品发布到区块链,任何人C1,C2,...,Cn,如果觉得这个作品好,都可以花钱“赞赏”A的作品,这些“赞赏”费,也是作品的股权,将来收到版权费时,根据股权将这些费用分给股东C1,C2,...,Cn。在任何时候,任何人都可以通过“赞赏”作品,让A获得新的收益,并获得股份。

  • A不用再贱卖产品,可以持续卖产品(因为谁都可以通过打赏来获得股权,而A可以持续获得收益),维权相对容易,因为收益方比较多,发现盗版可能性大。但是没有一个带头运营产品的带头人,导致版权费定价困难。


  • 场景4:A将自己的作品,发布到区块链,运作区块链的公司,同时是一家数字运行公司,负责所有作品的运营。任何人还是可以通过“赞赏”,让A获得持续收益,这些收益同时数字运营公司也会获得一定比例。运行公司负责推广作品,版权费则由运行公司和“赞赏”股东们分成。

  • 运营公司的介入,可以负责运营和产品版权定价。但是运行公司两头获益,利益占比太大。运行公司完全可以通过治理社群过程中,获得足够收益。


  • 场景5:A将自己的作品,发布到区块链,运作区块链的公司,同时是一家数字运行公司,负责所有作品的运营。任何人还是可以通过“赞赏”。运行公司负责推广作品,版权费则由“赞赏”股东们分成。

  • 运营公司获得运营费来获得收益。

合约

  • 使用 ERC721 来表示作品
  • 使用 ERC20 作为股权购买凭证
  • 代币合约由运行公司发行,ERC20 可以上市交易
  • 股权可以被交易,但是股权不是标准的代币合约,所以交易比较麻烦,这里考虑如何做一个标准的拥有权和使用权分离的 ERC721 拓展合约。

区块链的未来发展思考

区块链本质说是一种不可篡改的数据结构,因为它的不可篡改性,把数据从不可信变成可信。从技术角度看,区块链是互联网发展的一个升级,它和互联网相同的是,能提高社会整体的工作效率;不同的是,互联网从通信速度方面提高效率,区块链从信任角度提高效率。未来的区块链项目,算不算是好的项目,主要指标,是看这个项目,是否可以协助人们解决生产生活中的效率问题。

如何提高效率呢?以太坊通过智能合约,已经明确的给了答案,使用智能合约代替纸质合同,提高了效率,减少了纠纷和摩擦,让原本不信任的双方,也可以爽快的做生意。

那是不是这个世界,只要一个以太坊,就可以搞定了一切,自然不是的。区块链的共识机制告诉我们,区块链社区里大部分人,决定了区块链社区的走向,不认同以太坊一些人,会自己重新整理新的区块链系统,服务那些不乐意使用以太坊的人。不同的社区,代表着不同的价值观点,割裂人群,走向分裂。最后会形成多个区块链社区,拥有某个社区代币的人,成为这个社区的公民,拥有另外社区代币的人,成为那个社区的公民,有些人拥有多种虚拟货币,就同时成为多个社区的公民。

割裂是退步,因为交易促进社会的发展,但是社会的多样性,导致割裂是必然的。如何让多个社区相互独立的运行,又可以方便的进行交易,是当前代币已经很多的状态下,区块链必须要解决的问题。现在中心化的交易所,的确是可以进行币/币交换,但是,那些中心化的交易所没有任何安全保障,一旦老板跑路,血汗钱丢得一无所有。

我们需要一个这样的链,在它的基础上,各个组织可以发行自己的数字货币,服务该组织的交易;各个组织之间可以通过公共的基础链(类似比特币),进行组织间的数字货币交换,这种交换基于区块链本身,不会因为老板跑路导致财产损失,可以叫这种交易所可以称为,去中心化交易所。其实已经很多人已经在研发这样的系统,不过单单去中心化交易所是不够的,除了不同组织间数字货币的交换之外,不同组织间的资产,在基于某种共识基础上,也应该能相互交换,这个需求对基础链有更高的要求,除了服务组织间代币流动之外,还能服务组织间资产的流动。

这种组织和组织间的关系,有点像现在的国家或者公司之间的关系,但是这种组织,不存在地域束缚,也不需要合同限制,而是通过对算法的共识形成虚拟的组织。这种组织的加入和退出,成本极其低下,协作也变得有效率,这应该是未来区块链的技术研究方向。

以太坊资源

https://ethereum.gitbooks.io/frontier-guide/content/netstats.html

https://stackoverflow.com/questions/47129173/how-to-convert-int-to-string-in-solidity

一小时发代币
https://steemit.com/ethereum/@maxnachamkin/how-to-create-your-own-ethereum-token-in-an-hour-erc20-verified