This topic contains 12 replies, has 2 voices, and was last updated by MytishiStelf 4 months ago.
January 10, 2018 at 8:14 pm #416
You have probably heard of Ethereum, Ethereum allows people to create Smart-Contracts/Tokens, right? Bitshares was the first Coin to do that, and the Bitshares Tokens are called User Issued Assets (UIAs). The OpenLedger Platform is a Decentralized Exchange Platform, where Nodes are held open by people who are Voted for. So no single person or Company really operates it, it exists on a Blockchain.
Here is OpenLedger
Here is the Cryptofresh Blockchain Explorer, which keeps track of the Transactions on OpenLedger.
All of that is on the Blockchain.
Here is the OpenLedger Github Repo
So, that is the Smart Contracts and the Exchange.
Now, more recently Steemit was made. Which is like OpenLedger, but Social. And it is like Reddit, where you can Vote.
Here is an example of a Steemit Fork
Steemit Copied Synero
Here is the Graphene Blockchain
And we are just trying to create any kind of Social Media Platform on the Blockchain.
Here are some examples
Social/Social Media Blockchains
https://steemit.com/guide/@bitcoinparadise/do-you-want-to-run-you-own-voting-botJanuary 10, 2018 at 8:29 pm #421
Creating a new Genesis File
Customizing the Genesis file
The Bottom 2 Sections here explain creating a New Graphene Blockchain with a new Genesis BlockJanuary 11, 2018 at 5:20 am #537
I am going to explain everything about how the 2 main existing Graphene Blockchains operate.
First, Steemit, because it is the easiest to access for everyone. Steemit is a Reddit Clone, and is limited in that fact. Of all the Social Media Websites on the Internet, Reddit is not really the best example. Reddit is almost secondary. Everyone is either on Facebook, Twitter or Instagram, or all of them. But Reddit is Secondary, like YouTube.
Steemit would do much better as a YouTube platform, where videos are uploaded and earn money, instead of Blogs. We will be launching a YouTube Graphene Clone eventually if someone else doesn’t.
That explains Steemit on a superficial level. I am not saying that Steemit is a failure, I am saying that it would be better if there were a YouTube version.
So secondly, Steemit is a platoform connected to a Coin. There is a backend to Steemit, called Steemd, and you can look at Steemd, just google it. And there are other things, like Blocktrades, which actually connects Steemit and Bitshares. The coin called STEEM, is a DPoWS, which stands for Delegated Proof of Work and Stake.
So let me explain what Delegated Proof of Work and Stake means:
Proof of Work is like Bitcoin and Litecoin and Dogecoin, where everyone Mines with Mining Machines.
Proof of Stake is like Temple Coin or PeerCoin or various other Coins. The way Proof of Stake Works in Steemit, is that anyone that has Coins, has Coins that gain value. And they gain value at a very very high rate the first year or something, then they don’t gain as much after that. And you get coins via Proof of Work, or via Delegated Votes on your Steemit posts, which awards you STEEM from the Blockchain.
Delegated means that the Proof of Work is Voted on, this is done through the “Witness” system. And any Computer or Server or Laptop or anything can be a Node and be a Witness. And Witnesses have the Obligation to Hold Open Nodes, and Mine Coins, which processes transactions and keeps the Blockchain moving. And they get a lot of Coins out of that. Delegated also applies to the Voting on Posts. On Steemit, you get paid when you get Votes, you get paid for Voting (more for posts that end up being popular and you voted early), and you can get votes on your Comments on Steemit. So the Delegated part is important to Steemit.
Here is the Witness page on Steemit
Witnesses are secretly very important to Steemit, and anyone can become one by being voted for, but they don’t advertise that because they don’t want to get taken over.
So that is the basics of how Steemit works.January 11, 2018 at 2:28 pm #568
Once you have Bitshares and Bitshares UI donwloaded, here is what you are supposed to do
dhcp19:graphene phil$ cd programs/witness_node dhcp19:witness_node phil$ ./witness_node --rpc-endpoint 127.0.0.1:8090 --enable-stale-production -w '"1.6.0"' 2560491ms th_a main.cpp:126 main ] Writing new config file at /tao_builds/phil/projects/blockchain/phil/graphene/programs/witness_node/witness_node_data_dir/config.ini 2560511ms th_a witness.cpp:89 plugin_initialize ] witness plugin: plugin_initialize() begin 2560511ms th_a witness.cpp:99 plugin_initialize ] key_id_to_wif_pair: ["GPH6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV","5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"] 2560511ms th_a witness.cpp:117 plugin_initialize ] witness plugin: plugin_initialize() end 2560512ms th_a application.cpp:357 startup ] Replaying blockchain due to version upgrade 2560512ms th_a application.cpp:254 operator() ] Initializing database... 2560518ms th_a db_management.cpp:51 reindex ] reindexing blockchain 2560518ms th_a db_management.cpp:104 wipe ] Wiping database 2560549ms th_a object_database.cpp:87 wipe ] Wiping object database... 2560549ms th_a object_database.cpp:89 wipe ] Done wiping object databse. 2560549ms th_a object_database.cpp:94 open ] Opening object database from /tao_builds/phil/projects/blockchain/phil/graphene/programs/witness_node/witness_node_data_dir/blockchain ... 2560549ms th_a object_database.cpp:100 open ] Done opening object database. 2560560ms th_a db_debug.cpp:85 debug_dump ] total_balances[asset_id_type()].value: 0 core_asset_data.current_supply.value: 1000000000000000 2560560ms th_a db_management.cpp:58 reindex ] !no last block 2560560ms th_a db_management.cpp:59 reindex ] last_block: 2560562ms th_a thread.cpp:95 thread ] name:ntp tid:123145365336064 2560562ms th_a thread.cpp:95 thread ] name:p2p tid:123145366409216 2560566ms th_a application.cpp:143 reset_p2p_node ] Configured p2p node to listen on 0.0.0.0:64207 2560568ms th_a application.cpp:195 reset_websocket_serv ] Configured websocket rpc to listen on 127.0.0.1:8090 2560568ms th_a witness.cpp:122 plugin_startup ] witness plugin: plugin_startup() begin 2560568ms th_a witness.cpp:129 plugin_startup ] Launching block production for 1 witnesses. ******************************** * * * ------- NEW CHAIN ------ * * - Welcome to Graphene! - * * ------------------------ * * * ******************************** Your genesis seems to have an old timestamp Please consider using the --genesis-timestamp option to give your genesis a recent timestamp 2560568ms th_a witness.cpp:140 plugin_startup ] witness plugin: plugin_startup() end 2560568ms th_a main.cpp:179 main ] Started witness node on a chain with 0 blocks. 2560568ms th_a main.cpp:180 main ] Chain ID is 0e435e3d20d8efa4e47fae56707a460e35c034aa2b0848e760e51beb13b3db04
January 11, 2018 at 2:57 pm #569
- This reply was modified 5 months, 2 weeks ago by shaivi5_wp.
dhcp19:graphene phil$ cd program/cli_wallet dhcp19:cli_wallet phil$ ./cli_wallet Logging RPC to file: logs/rpc/rpc.log 2838642ms th_a main.cpp:120 main ] key_to_wif( committee_private_key ): 5KCBDTcyDqzsqehcb52tW5nU6pXife6V2rX9Yf7c3saYSzbDZ5W 2838649ms th_a main.cpp:124 main ] nathan_pub_key: GPH6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV 2838650ms th_a main.cpp:125 main ] key_to_wif( nathan_private_key ): 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3 Starting a new wallet with chain ID 0e435e3d20d8efa4e47fae56707a460e35c034aa2b0848e760e51beb13b3db04 (from egenesis) 2838655ms th_a main.cpp:172 main ] wdata.ws_server: ws://localhost:8090 2838726ms th_a main.cpp:177 main ] wdata.ws_user: wdata.ws_password: Please use the set_password method to initialize a new wallet before continuing 2838792ms th_a thread.cpp:95 thread ] name:getline tid:123145506545664 new >>>
At this point, you can use the help command to explore how to use the wallet interface.January 11, 2018 at 3:01 pm #571
Programming with Graphene
The basic API for Graphene is based on remote procedure calls. The specific functions available depend on the terms of the contracts, defined by a particular blockchain instance. A common authentication module is accessed first through the login API. After authenticating, the client application is able to gather other remote object references and make calls to them.
The FC library is used to manage the transport details, allowing the nodes to accept a variety of transport protocols. As currently delivered, the witness_node application is configured to accept HTTP formatted requests. From a C++ application, the Graphene apps library and FC library work together to provide a simple programming model for such access.
Here is an example, taken from the cli_wallet application, showing how to connect to the node server, log in, and make additional calls.
fc::http::websocket_client client; idump((wdata.ws_server)); auto con = client.connect( wdata.ws_server ); auto apic = std::make_shared<fc::rpc::websocket_api_connection>(*con); auto remote_api = apic->get_remote_api< login_api >(1); edump((wdata.ws_user)(wdata.ws_password) ); // TODO: Error message here FC_ASSERT( remote_api->login( wdata.ws_user, wdata.ws_password ) ); auto wapiptr = std::make_shared<wallet_api>( wdata, remote_api ); wapiptr->set_wallet_filename( wallet_file.generic_string() ); wapiptr->load_wallet_file(); fc::api<wallet_api> wapi(wapiptr); auto wallet_cli = std::make_shared<fc::rpc::cli>(); for( auto& name_formatter : wapiptr->get_result_formatters() ) wallet_cli->format_result( name_formatter.first, name_formatter.second );
Without getting too deep, what is shown here is that wdata is some collection of initialization information collected from the command line, config files, etc. This is then used to create a client connection, log in (asserting that it was successful), creating an instance of the wallet API that communicates through the authenticated reference to make further calls.January 11, 2018 at 3:12 pm #574
Building Graphene on Ubuntu
Building Graphene on Windows
How to set up Witness for Testnet
https://github.com/bitshares/bitshares-core/wiki/How-to-setup-your-witness-for-test-net-%28Ubuntu-14.04%29January 11, 2018 at 3:14 pm #575
If you are getting Error Messages while trying to do this, then read here, and if your problem is not solved here, you can post your problem and see if someone else can answer it.
https://github.com/bitshares/bitshares-core/issuesJanuary 11, 2018 at 3:23 pm #576
Bitsharestalk threads with helpful info
https://bitsharestalk.org/index.php/topic,22576.0.htmlJanuary 11, 2018 at 3:34 pm #577
Abstract information about Graphene on Bitsharestalk
https://bitsharestalk.org/index.php?topic=18434.0January 11, 2018 at 9:12 pm #598January 12, 2018 at 2:58 pm #604February 18, 2018 at 2:23 pm #1964