Bitcoin Forum
August 16, 2018, 01:35:22 AM *
News: Latest stable version of Bitcoin Core: 0.16.2  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: CLONINING ETHEREUM IS EASIER THAN MAKING A CRYPTONOTE OR FORKNOTE (Here is How)  (Read 193 times)
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 22, 2018, 07:45:29 PM
 #1




Method 1:

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

If you want to stay on the bleeding edge, install the ethereum-unstable package instead.

After installing, run geth account new to create an account on your node.

You should now be able to run

geth

and connect to the network.

Make sure to check the different options and commands with geth --help

Download this and put it in a folder
https://raw.githubusercontent.com/ethereum/genesis_block_generator/master/mk_genesis_block.py

python mk_genesis_block.py --extradata hash_for_#1028201_goes_here > genesis_block.json

https://forum.ethereum.org/discussion/2571/python-error-when-trying-to-create-genesis-block

python mk_genesis_block.py --extradata 0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa > genesis_block.json

If you can get through the errors there, then go here:
https://blog.ethereum.org/2015/07/27/final-steps/

Method 2: (Requires you to try method 1 at least 1 time through so you have everything installed, but you have to close that Window that Started Mining)

If not, now you have everything you need to do it this way

mkdir my-eth-chain
cd my-eth-chain

gedit myGenesis.json

put this in that file
Code:
{
   "config": {
      "chainId": 1994,
      "homesteadBlock": 0,
      "eip155Block": 0,
      "eip158Block": 0,
      "byzantiumBlock": 0
   },
   "difficulty": "400",
   "gasLimit": "2000000",
   "alloc": {
      "7b684d27167d208c66584ece7f09d8bc8f86ffff": {
          "balance": "100000000000000000000000"
      },
      "ae13d41d66af28380c7af6d825ab557eb271ffff": {
          "balance": "120000000000000000000000"
      }
   }
}

geth --datadir ./myDataDir init ./myGenesis.json

geth --datadir ./myDataDir --networkid 1114 console 2>> myEth.log

(CHANGE THE 1114 to something else)

    Open another terminal window

    cd to my-eth-chain

    Type tail -f myEth2.log

    In the geth JavaScript console of your 1st peer (back to the other terminal window), type:


> personal.newAccount("<YOUR_PASSPHRASE>")

> eth.coinbase

Check your balance with
> eth.getBalance(eth.coinbase)
Run
> miner.start()


Then go here:
https://blog.ethereum.org/2015/07/27/final-steps/
1534383322
Hero Member
*
Offline Offline

Posts: 1534383322

View Profile Personal Message (Offline)

Ignore
1534383322
Reply with quote  #2

1534383322
Report to moderator
1534383322
Hero Member
*
Offline Offline

Posts: 1534383322

View Profile Personal Message (Offline)

Ignore
1534383322
Reply with quote  #2

1534383322
Report to moderator
1534383322
Hero Member
*
Offline Offline

Posts: 1534383322

View Profile Personal Message (Offline)

Ignore
1534383322
Reply with quote  #2

1534383322
Report to moderator
BOUNTY PORTALS
BLOG
WHERE BOUNTY MANAGEMENT
MEETS AUTOMATION
SIGNATURE CAMPAIGNS
TWITTER
FACEBOOK
MEDIA CAMPAIGNS
AND MORE!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1534383322
Hero Member
*
Offline Offline

Posts: 1534383322

View Profile Personal Message (Offline)

Ignore
1534383322
Reply with quote  #2

1534383322
Report to moderator
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 22, 2018, 08:25:26 PM
 #2

bootnode --genkey=boot.key
bootnode --nodekey=boot.key

To get your Public URL for everyone
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 22, 2018, 08:27:53 PM
 #3

geth --datadir path/to/custom/data/folder --networkid 15 --bootnodes <bootnode-enode-url-from-above>

$ geth <usual-flags> --mine --minerthreads=1 --etherbase=0x0000000000000000000000000000000000000000
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 22, 2018, 08:29:43 PM
 #4

And apparently, the way to get consensus is to have your Genesis.json file put into your Ethereum Wallet. And it will turn the old Wallet into a Wallet for your Blockchain.
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 22, 2018, 08:32:01 PM
 #5

https://github.com/ethereum/go-ethereum
KingScorpio
Sr. Member
****
Offline Offline

Activity: 490
Merit: 270



View Profile WWW
January 22, 2018, 08:35:57 PM
 #6




Method 1:

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

If you want to stay on the bleeding edge, install the ethereum-unstable package instead.

After installing, run geth account new to create an account on your node.

You should now be able to run

geth

and connect to the network.

Make sure to check the different options and commands with geth --help

Download this and put it in a folder
https://raw.githubusercontent.com/ethereum/genesis_block_generator/master/mk_genesis_block.py

python mk_genesis_block.py --extradata hash_for_#1028201_goes_here > genesis_block.json

https://forum.ethereum.org/discussion/2571/python-error-when-trying-to-create-genesis-block

python mk_genesis_block.py --extradata 0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa > genesis_block.json

If you can get through the errors there, then go here:
https://blog.ethereum.org/2015/07/27/final-steps/

Method 2: (Requires you to try method 1 at least 1 time through so you have everything installed, but you have to close that Window that Started Mining)

If not, now you have everything you need to do it this way

mkdir my-eth-chain
cd my-eth-chain

gedit myGenesis.json

put this in that file
Code:
{
   "config": {
      "chainId": 1994,
      "homesteadBlock": 0,
      "eip155Block": 0,
      "eip158Block": 0,
      "byzantiumBlock": 0
   },
   "difficulty": "400",
   "gasLimit": "2000000",
   "alloc": {
      "7b684d27167d208c66584ece7f09d8bc8f86ffff": {
          "balance": "100000000000000000000000"
      },
      "ae13d41d66af28380c7af6d825ab557eb271ffff": {
          "balance": "120000000000000000000000"
      }
   }
}

geth --datadir ./myDataDir init ./myGenesis.json

geth --datadir ./myDataDir --networkid 1114 console 2>> myEth.log

(CHANGE THE 1114 to something else)

    Open another terminal window

    cd to my-eth-chain

    Type tail -f myEth2.log

    In the geth JavaScript console of your 1st peer (back to the other terminal window), type:


> personal.newAccount("<YOUR_PASSPHRASE>")

> eth.coinbase

Check your balance with
> eth.getBalance(eth.coinbase)
Run
> miner.start()


Then go here:
https://blog.ethereum.org/2015/07/27/final-steps/

what do you mean with cloning ethereum?

do you mean you double etheruem out of nothing?

immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 22, 2018, 08:54:14 PM
 #7




Method 1:

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

If you want to stay on the bleeding edge, install the ethereum-unstable package instead.

After installing, run geth account new to create an account on your node.

You should now be able to run

geth

and connect to the network.

Make sure to check the different options and commands with geth --help

Download this and put it in a folder
https://raw.githubusercontent.com/ethereum/genesis_block_generator/master/mk_genesis_block.py

python mk_genesis_block.py --extradata hash_for_#1028201_goes_here > genesis_block.json

https://forum.ethereum.org/discussion/2571/python-error-when-trying-to-create-genesis-block

python mk_genesis_block.py --extradata 0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa > genesis_block.json

If you can get through the errors there, then go here:
https://blog.ethereum.org/2015/07/27/final-steps/

Method 2: (Requires you to try method 1 at least 1 time through so you have everything installed, but you have to close that Window that Started Mining)

If not, now you have everything you need to do it this way

mkdir my-eth-chain
cd my-eth-chain

gedit myGenesis.json

put this in that file
Code:
{
   "config": {
      "chainId": 1994,
      "homesteadBlock": 0,
      "eip155Block": 0,
      "eip158Block": 0,
      "byzantiumBlock": 0
   },
   "difficulty": "400",
   "gasLimit": "2000000",
   "alloc": {
      "7b684d27167d208c66584ece7f09d8bc8f86ffff": {
          "balance": "100000000000000000000000"
      },
      "ae13d41d66af28380c7af6d825ab557eb271ffff": {
          "balance": "120000000000000000000000"
      }
   }
}

geth --datadir ./myDataDir init ./myGenesis.json

geth --datadir ./myDataDir --networkid 1114 console 2>> myEth.log

(CHANGE THE 1114 to something else)

    Open another terminal window

    cd to my-eth-chain

    Type tail -f myEth2.log

    In the geth JavaScript console of your 1st peer (back to the other terminal window), type:


> personal.newAccount("<YOUR_PASSPHRASE>")

> eth.coinbase

Check your balance with
> eth.getBalance(eth.coinbase)
Run
> miner.start()


Then go here:
https://blog.ethereum.org/2015/07/27/final-steps/

what do you mean with cloning ethereum?

do you mean you double etheruem out of nothing?

No, creating a New Blockchain and Genesis Block and everything.

I am about to show to create a Token on the Private Blockchain also.
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 22, 2018, 09:03:41 PM
 #8

Just found this, this has the process all in 1 place already.
https://alanbuxton.wordpress.com/2017/07/19/first-steps-with-ethereum-private-networks-and-smart-contracts-on-ubuntu-16-04/
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 22, 2018, 09:13:55 PM
 #9

Btw, we are doing Graphene next.


Quote
Obtaining and Running Graphene

Graphene is Open Source software available on GitHub. The root repository may be found at the Cryptonomex site. There are three projects to be cloned: graphene, graphene-ui, and fc. OCI’s GitHub page includes forks of graphene and graphene-ui, which serve as our research base repository. You may clone OCI’s copy of graphene by visiting https://github.com/objectcomputing/graphene and https://github.com/objectcomputing/graphene-ui
Comprehensive build and deploy instructions for both kits are included in their respective Readme.md file.

Graphene ships with three executables: the witness_node, cli_wallet, and genesis_util. Once built, you can try running a witness node. Note this example shows how to run the witness node with command line options. 

Code:
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

After you get the node running, you can connect to the node using the cli_wallet. In a second terminal window, run the command line wallet application.

Code:
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.
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 22, 2018, 09:32:56 PM
 #10

I just found this Ethereum Guide that explains setting up the Blockchain, choosing your Ethereum Release you want to use, creating a Wallet, making Smart Contacts, and making a Block Explorer.
https://medium.facilelogin.com/build-your-own-blockchain-b8eaeea2f891

So Akasha आकाश will exist soon. We will launch it within a week or so.
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 22, 2018, 09:34:29 PM
 #11

This also probably makes everything more simple.
https://github.com/trufflesuite/ganache-cli
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 22, 2018, 09:42:05 PM
 #12

Ethereum Cookbook
https://github.com/hpyhacking/notes/blob/master/ethereum-cookbook.markdown
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 22, 2018, 09:47:13 PM
 #13

Also, while I was first learning how to make Coins, I found this Compiler Scrypt
https://github.com/MahatmaJapa/AltcoinCompiler

And we are planning on creating more of those, if anyone wants to start going through all of our stuff and automating the process, we are going to start making it where people can just go on a Website, fill in some things, click "Build" or whatever, and a Coin pops out the other side.

And we are going to do it for a lot of different kinds of Coins.
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 23, 2018, 05:07:03 AM
 #14




Method 1:

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

If you want to stay on the bleeding edge, install the ethereum-unstable package instead.

After installing, run geth account new to create an account on your node.

You should now be able to run

geth

and connect to the network.


mkdir my-eth-chain
cd my-eth-chain

gedit myGenesis.json

Code:
{
    "config": {
        "chainId": 15,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
    "difficulty": "0x400",
    "gasLimit": "0x2100000",
    "alloc": {
        "7a69b359e86893efa3d9732e4c65ced51567edd0":
         { "balance": "0x1337000000000000000000" }     
    }
}

    chainid: this provides a way to send transactions that work on ethereum without working on ETC (ethereum classic) or the Morden testnet. EIP 155 suggests following chainid values for different networks: ethereum mainnet (1), morden /expanse mainnet (2), ropsten (3), rinkeby (4), rootstock mainnet (30), rootstock testnet (31), kovan (42), ethereum classic mainnet (61), ethereum classic testnet (62), geth private chains (1337 by default). In our example we have used 15, which is not used by any of these networks.

    homesteadBlock: the value 0 indicates, it is using ethereum homestead release. Homestead is the 2nd major ethereum release — and couple of days back on 16th Oct, 2017, ethereum did a hard fork to move to the byzantium release.

    eip155Block: the value 0 indicates, this block supports EIP (ethereum improvement proposal)155. EIPs describe standards for the ethereum platform, including core protocol specifications, client APIs, and contract standards.

    eip158Block: the value 0 indicates, this block supports EIP (ethereum improvement proposal)158.

    difficulty: a value corresponding to the difficulty level applied during the nonce discovery of this block. In this blog I explain how the difficulty is calculated in ethereum, in detail.

    gasLimit: gas is the internal pricing for running a transaction or contract in ethereum. Each instruction sent to the Ethereum Virtual Machine (EVM) to process a transaction or smart contract costs a specific amount of gas. If the required amount of gas is not provided to the transaction, it will fail before completion. When you do any ethereum transaction, you specify a gas limit — that is the maximum gas all the operations corresponding to that transaction can consume. The gasLimit parameter in the block specifies, the aggregated gasLimit from all the transactions included in the block.

    alloc: this allows to pre-allocate ether to one or more accounts from the genesis block. In the above genesis block, the pre-allocation is done to the account we created at the begining.


geth --mine --rpc --networkid 1999 --datadir <path-to-data-directory>

(CHANGE THE 1999 VALUE)

    networkid: network identifier of this ethereum network. You pick a value you want. For example: olympic (0), frontier (1), morden (2), ropsten(3).

    mine: enables mining.

    rpc: enables an HTTP-RPC server. Wallet applications can connect to this mining node over http.

    rpcaddr: specifies the HTTP-RPC server listening interface (default: “localhost”)

    rpcport: specifies the HTTP-RPC server listening port (default: 8545)

    rpcapi: specifies the API’s offered over the HTTP-RPC interface (default: “eth,net,web3”)


--rpcapi "web3,eth"

--rpccorsdomain "*"

geth --mine --rpc --networkid 1999 --datadir /path/to/data/dir console

geth --datadir /path/to/data/dir attach ipc:/path/to/data/dir /geth.ipc

> eth.accounts
["0x7a69b359e86893efa3d9732e4c65ced51567edd0"]

> eth.getBalance("0x7a69b359e86893efa3d9732e4c65ced51567edd0")
1.295e+21

Download MetaMask
https://metamask.io/

> personal.unlockAccount( "0x7a69b359e86893efa3d9732e4c65ced51567edd0","password")

> var sender = "0x7a69b359e86893efa3d9732e4c65ced51567edd0";
> var receiver = "0xA9f28458eE1170F285440990c196c1592D3a73f5"
> var amount = web3.toWei(1, "ether")

> eth.sendTransaction({from:sender, to:receiver, value: amount})

> eth.getBalance("0xA9f28458eE1170F285440990c196c1592D3a73f5")
1000000000000000000

https://remix.ethereum.org/

geth --mine --rpc --rpccorsdomain "*" --networkid 1999 --datadir <path-to-data-directory>

To connect, remix to our private network, we need to change the Environment to Web3 Provider, under the tab Run. When you do this change, remix will prompt you to specify the Web3 Provider Endpoint — set the value http://localhost:8545. Unless you have changed the port explicitly, the default mining node will start on the port 8545.

Code:
pragma solidity ^0.4.11;
contract Hello  {
      // a string variable
      string public greeting;

    // the function with the same name as the class is a constructor
     function Hello(string _greeting) {
         greeting = _greeting;
     }
 
     // change the greeting message
     function setGreeting(string _greeting) {
         greeting = _greeting;
     }
 
     // get the greeting message
     function greet() constant returns (string _greeting) {
        _greeting = greeting;
     }
 }

Click the Details button

Now we can deploy our smart contract to our private blockchain. Under the Run tab, make sure you have the right ethereum account selected, and then the right gas limit is specified. You can keep gas price and value as zero.

> personal.unlockAccount( "0x7a69b359e86893efa3d9732e4c65ced51567edd0","password")

Click "Create"

immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 27, 2018, 02:41:56 AM
 #15

We are going to automate this process.
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 28, 2018, 10:15:06 PM
 #16

That is 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
https://openledger.info/

Here is the Cryptofresh Blockchain Explorer, which keeps track of the Transactions on OpenLedger.
http://cryptofresh.com/

All of that is on the Blockchain.

Here is the OpenLedger Github Repo
https://github.com/bitshares/bitshares-core

Bitshares UI
https://github.com/bitshares/bitshares-ui

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.
https://steemit.com/

Here is an example of a Steemit Fork
https://github.com/Someguy123/understeem

Steemit Copied Synero

Synero
https://bitcointalk.org/index.php?topic=827782.0
https://bitcointalk.org/index.php?topic=2413752.0
http://www.synereo.com/
https://themerkle.com/synereo-bringing-crypto-and-social-media-on-a-revolutionary-platform/

Synereo Git Repo
https://github.com/synereo/synereo

Here is the Graphene Blockchain
https://github.com/cryptonomex/graphene

Here is how to use it
https://objectcomputing.com/resources/publications/sett/march-2017-graphene-an-open-source-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://bitcointalk.org/index.php?topic=2657895.0
https://bitcointalk.org/index.php?topic=2291309.0
https://bitcointalk.org/index.php?topic=2677363.0
https://bitcointalk.org/index.php?topic=2461878.0
https://bitcointalk.org/index.php?topic=2027214.0
https://bitcointalk.org/index.php?topic=2648330.0
https://bitcointalk.org/index.php?topic=2407336.0
https://bitcointalk.org/index.php?topic=2426759.0
https://bitcointalk.org/index.php?topic=2519264.0
https://bitcointalk.org/index.php?topic=2567795.0
https://bitcointalk.org/index.php?topic=2437581.0
https://bitcointalk.org/index.php?topic=2348476.0
https://bitcointalk.org/index.php?topic=2644550.0
https://bitcointalk.org/index.php?topic=2432816.0
https://bitcointalk.org/index.php?topic=2401248.0
https://bitcointalk.org/index.php?topic=2398117.0
https://bitcointalk.org/index.php?topic=2447583.0
https://bitcointalk.org/index.php?topic=2158960.0
https://bitcointalk.org/index.php?topic=2234738.0
https://bitcointalk.org/index.php?topic=2570851.0
https://bitcointalk.org/index.php?topic=2191554.0
https://bitcointalk.org/index.php?topic=2372042.0
https://bitcointalk.org/index.php?topic=2402330.0
https://bitcointalk.org/index.php?topic=2344257.0
https://bitcointalk.org/index.php?topic=2046801.0
https://bitcointalk.org/index.php?topic=2187641.0
https://bitcointalk.org/index.php?topic=2206682.0
https://bitcointalk.org/index.php?topic=2367256.0
https://bitcointalk.org/index.php?topic=2313303.0
https://bitcointalk.org/index.php?topic=2313303.0
https://bitcointalk.org/index.php?topic=2209559.0
https://bitcointalk.org/index.php?topic=2110925.0
https://bitcointalk.org/index.php?topic=2291332.0

Graphene Bots

https://steemit.com/bots/@personz/a-new-voter-bot-newer-smarter-freer
https://steemit.com/cryptocurrency/@steemitprime/steemit-bot-2017-increase-upvote-and-follower-100-working
https://steemit.com/steemit/@cerebralace/how-to-use-the-steemit-voting-bots
https://steemit.com/steemit/@hoschitrooper/bots-bots-and-bots
https://steemit.com/steem/@heimindanger/don-t-use-vote-selling-bots-use-promoted-instead-a-bot-that-upvotes-you-when-you-burn-money
https://steemit.com/guide/@bitcoinparadise/do-you-want-to-run-you-own-voting-bot

reating a new Genesis File

http://docs.bitshares.org/testnet/private-testnet.html

Customizing the Genesis file

http://docs.bitshares.org/testnet/private-testnet.html#customization-of-the-genesis-file

The Bottom 2 Sections here explain creating a New Graphene Blockchain with a new Genesis Block

https://objectcomputing.com/resources/publications/sett/march-2017-graphene-an-open-source-blockchain/

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
https://steemit.com/~witnesses

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.

Once you have Bitshares and Bitshares UI donwloaded, here is what you are supposed to do

Code:
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

Code:
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.

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.
Code:
          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.



Building Graphene on Ubuntu
https://github.com/bitshares/bitshares-core/wiki/BUILD_UBUNTU

Building Graphene on Windows
https://github.com/bitshares/bitshares-core/wiki/BUILD_WIN32

Nodes
https://github.com/bitshares/bitshares-core/wiki/Wallet_Full-Nodes_Witness_Nodes

API
https://github.com/bitshares/bitshares-core/wiki/API

Websocket Subscriptions
https://github.com/bitshares/bitshares-core/wiki/Websocket-Subscriptions

Wallet Cookbook
https://github.com/bitshares/bitshares-core/wiki/CLI-Wallet-Cookbook

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%29

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/issues

Bitsharestalk threads with helpful info
https://bitsharestalk.org/index.php?topic=22659.0
https://bitsharestalk.org/index.php/topic,18614.0.html
https://bitsharestalk.org/index.php?topic=17962.525
https://bitsharestalk.org/index.php?topic=18635.0
https://bitsharestalk.org/index.php?topic=21532.0
https://bitsharestalk.org/index.php?topic=23627.0
https://bitsharestalk.org/index.php?topic=22125.0
https://bitsharestalk.org/index.php?topic=15138.285
https://bitsharestalk.org/index.php/topic,19507.0.html
https://bitsharestalk.org/index.php/topic,18751.0.html
https://bitsharestalk.org/index.php/topic,22576.0.html

Abstract information about Graphene on Bitsharestalk
https://bitsharestalk.org/index.php?topic=21990.0
https://bitsharestalk.org/index.php?topic=25187.0
https://bitsharestalk.org/index.php?topic=18401.0
https://bitsharestalk.org/index.php/topic,21079.0.html
https://bitsharestalk.org/index.php?topic=23716.0
https://bitsharestalk.org/index.php?topic=23478.0
https://bitsharestalk.org/index.php?topic=23848.0
https://bitsharestalk.org/index.php?topic=18434.0



Open Source Blockchains with uses
http://hyperledger.org/projects

This was the intro for HyperLedger fabric before it was created
https://www.youtube.com/watch?v=EKa5Gh9whgU

HyperLedger Fabric
https://media.readthedocs.org/pdf/hyperledger-fabric/latest/hyperledger-fabric.pdf
https://hyperledger-fabric.readthedocs.io/en/release/
http://hyperledger-fabric.readthedocs.io/en/release/getting_started.html
http://hyperledger-fabric.readthedocs.io/en/release/blockchain.html

You can download Fabric with the Buttons at the top of the page on this link
https://www.hyperledger.org/projects/fabric

HyperLedger Live Chat
https://chat.hyperledger.org/channel/fabric

HyperLedger 7 part video series (after you watch  the first one, the others should automatically come up after each video)
https://www.youtube.com/watch?v=7EpPrSJtqZU

IBMs HyperLedger Blockchain
https://www.youtube.com/watch?v=JuXH9OYXcQQ

Here is an IBM series about HyperLedger
https://www.youtube.com/watch?v=yfpXnl6U3y8



IOTA
https://en.wikipedia.org/wiki/IOTA_(technology)

https://iota.org/

The IOTA Whitepaper
https://iota.org/IOTA_Whitepaper.pdf

People have not started to grasp and appreciate the fact that IOTA has got rid of miners. In IOTA, the transaction issuers are also transaction approvers and these two parties are no longer decoupled as in Bitcoin and Ethereum which use miners as the transactions approvers. This will bring a huge advantage for IOTA.
https://satoshiwatch.com/coins/iota/in-depth/iota-dag-tangle/

IOTA compared to Blockchain
https://ukcryptocurrency.com/iota/tangle-vs-blockchain/

IOTA is based on a directed acyclic graph (DAG) aka the Tangle, not a Blockchain
IOTA has no mining, no blocks, no difficulty
IOTA has no transaction fees
IOTA scales almost infinitely, unlike Blockchains
IOTA is not solely made as a currency but as an interoperability protocol that solves the problems of the IoT
IOTA wants to enable the machine economy
IOTA is lead by the IOTA Foundation, an NGO registered in Germany (approx. Oct. 2017)

IOTA and the Internet of things
https://coincentral.com/meet-tangle-cryptos-blockchain-alternative/


immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 29, 2018, 12:14:08 AM
 #17

Video about how to create your own Ethereum Blockchain
https://www.youtube.com/watch?v=Vn73EX7zbCc
immakingacoin
Member
**
Offline Offline

Activity: 98
Merit: 11


View Profile
January 29, 2018, 04:42:12 AM
 #18

Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!