How to get input address and amount from vin using bitcoin core rpc I am trying to find details of every transaction using bitcoin core rpc. First, I using bitcoin-cli getblock to get the block data, then use bitcoin-cli getrawtransaction to get the transaction details.

For instance:

 bitcoin-cli getrawtransaction "1024cb12a576b69defa67dbc2f1899700ab58e5ad3d5e058edefb907f59865bc" true "00000000000000000024fb37364cbf81fd49cc2d51c09c75c35433c3a1945d04" 

get:

{
  "in_active_chain": true,
  "txid": "1024cb12a576b69defa67dbc2f1899700ab58e5ad3d5e058edefb907f59865bc",
  "hash": "1024cb12a576b69defa67dbc2f1899700ab58e5ad3d5e058edefb907f59865bc",
  "version": 2,
  "size": 339,
  "vsize": 339,
  "weight": 1356,
  "locktime": 499989,
  "vin": [
    {
      "txid": "0d6cbc21a1b1a3e5df1eae4fc37aa849174b6b727e53f9f505a605f066b7f000",
      "vout": 0,
      "scriptSig": {
        "asm": "304402203f198d9695a293c41d2124e790d473e68f4b35a09ece5517c7adfffc797f91760220304feb1cc2829d3c937665bcb4b7f9735acbcac50e9169bc53c9e689ce20b3bc[ALL] 025743bce4e775bb754e784dd2cfdc8dabc2023154eee539bb155612101a583e7e",
        "hex": "47304402203f198d9695a293c41d2124e790d473e68f4b35a09ece5517c7adfffc797f91760220304feb1cc2829d3c937665bcb4b7f9735acbcac50e9169bc53c9e689ce20b3bc0121025743bce4e775bb754e784dd2cfdc8dabc2023154eee539bb155612101a583e7e"
      },
      "sequence": 4294967294
    },
    {
      "txid": "aac498279d50ee81237d704cb495b243b50def5ecdcb36d9d78f596f73b1d3e9",
      "vout": 1,
      "scriptSig": {
        "asm": "3045022100b763b986b17beddac1ac96c3656fa7af188a28cfacfc87390e1e796b7fdbc0d102201e76f77db6093306028e681e2fe6354ae12649afb5c27c549243b67d505a1bb6[ALL] 0349ebb9d180938ab3a571d8c2e9771fb4fecb9f4484c337bb35d8fd8b48283ca9",
        "hex": "483045022100b763b986b17beddac1ac96c3656fa7af188a28cfacfc87390e1e796b7fdbc0d102201e76f77db6093306028e681e2fe6354ae12649afb5c27c549243b67d505a1bb601210349ebb9d180938ab3a571d8c2e9771fb4fecb9f4484c337bb35d8fd8b48283ca9"
      },
      "sequence": 4294967294
    }
  ],
  "vout": [
    {
      "value": 0.17450000,
      "n": 0,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 d63cc1e3b6009e31d03bd5f8046cbe0f7e37e8c0 OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "76a914d63cc1e3b6009e31d03bd5f8046cbe0f7e37e8c088ac",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [
          "1LXnPYpHTwQeWfBVnQZ4yDP23b57NwoyrP"
        ]
      }
    }
  ],
  "hex": "020000000200f0b766f005a605f5f9537e726b4b1749a87ac34fae1edfe5a3b1a121bc6c0d000000006a47304402203f198d9695a293c41d2124e790d473e68f4b35a09ece5517c7adfffc797f91760220304feb1cc2829d3c937665bcb4b7f9735acbcac50e9169bc53c9e689ce20b3bc0121025743bce4e775bb754e784dd2cfdc8dabc2023154eee539bb155612101a583e7efeffffffe9d3b1736f598fd7d936cbcd5eef0db543b295b44c707d2381ee509d2798c4aa010000006b483045022100b763b986b17beddac1ac96c3656fa7af188a28cfacfc87390e1e796b7fdbc0d102201e76f77db6093306028e681e2fe6354ae12649afb5c27c549243b67d505a1bb601210349ebb9d180938ab3a571d8c2e9771fb4fecb9f4484c337bb35d8fd8b48283ca9feffffff0110440a01000000001976a914d63cc1e3b6009e31d03bd5f8046cbe0f7e37e8c088ac15a10700",
  "blockhash": "00000000000000000024fb37364cbf81fd49cc2d51c09c75c35433c3a1945d04",
  "confirmations": 85927,
  "time": 1513622125,
  "blocktime": 1513622125
}



I know some web api such as blockchain.info provide these information for every transaction. How can I get the address and corresponding amount of vin using other bitcoin core rpc? 

Thanks.

There some related links:
How to get address from scriptSig?

How to get the Input Address from vin where only a txid is given (Insight-Api)
The address and amount of the sender can be gotten from the 'txid' and 'vout' by using getrawtransaction command. Let's see the example, the vin part of the block is as follows:

"vin": [
    {
      "txid": "0d6cbc21a1b1a3e5df1eae4fc37aa849174b6b727e53f9f505a605f066b7f000",
      "vout": 0,
      "scriptSig": {
        "asm": "304402203f198d9695a293c41d2124e790d473e68f4b35a09ece5517c7adfffc797f91760220304feb1cc2829d3c937665bcb4b7f9735acbcac50e9169bc53c9e689ce20b3bc[ALL] 025743bce4e775bb754e784dd2cfdc8dabc2023154eee539bb155612101a583e7e",
        "hex": "47304402203f198d9695a293c41d2124e790d473e68f4b35a09ece5517c7adfffc797f91760220304feb1cc2829d3c937665bcb4b7f9735acbcac50e9169bc53c9e689ce20b3bc0121025743bce4e775bb754e784dd2cfdc8dabc2023154eee539bb155612101a583e7e"
      },
      "sequence": 4294967294
    },
    {
      "txid": "aac498279d50ee81237d704cb495b243b50def5ecdcb36d9d78f596f73b1d3e9",
      "vout": 1,
      "scriptSig": {
        "asm": "3045022100b763b986b17beddac1ac96c3656fa7af188a28cfacfc87390e1e796b7fdbc0d102201e76f77db6093306028e681e2fe6354ae12649afb5c27c549243b67d505a1bb6[ALL] 0349ebb9d180938ab3a571d8c2e9771fb4fecb9f4484c337bb35d8fd8b48283ca9",
        "hex": "483045022100b763b986b17beddac1ac96c3656fa7af188a28cfacfc87390e1e796b7fdbc0d102201e76f77db6093306028e681e2fe6354ae12649afb5c27c549243b67d505a1bb601210349ebb9d180938ab3a571d8c2e9771fb4fecb9f4484c337bb35d8fd8b48283ca9"
      },
      "sequence": 4294967294
    }
  ]


It means that there are two inputs, the first input is from the "vout" 0 of the transaction "txid" "0d6cbc21a1b1a3e5df1eae4fc37aa849174b6b727e53f9f505a605f066b7f000", the second input is from the "vout" 1 fo the transaction "txid": "aac498279d50ee81237d704cb495b243b50def5ecdcb36d9d78f596f73b1d3e9". Since the vout part of one transaction has address and amount, we can get the input address and corresponding amount.

For instance, let's look the first input:

      "txid": "0d6cbc21a1b1a3e5df1eae4fc37aa849174b6b727e53f9f505a605f066b7f000",
      "vout": 0,


run following core rpc command (note that we need let the server index each transaction to support getrawtransaction, it can be done by add "txindex=1" in the bitcoin.conf)

bitcoin-cli -rpcuser=jun -rpcpassword=123 getrawtransaction "0d6cbc21a1b1a3e5df1eae4fc37aa849174b6b727e53f9f505a605f066b7f000" true


We get following vouts part as follows:

 "vout": [
    {
      "value": 0.01040000,
      "n": 0,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 af9e84db382823b9c36c40d70090ff81890c5ef5 OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "76a914af9e84db382823b9c36c40d70090ff81890c5ef588ac",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [
          "1H1b9fN7wYYwTSweyPjE7wCGSHuduCcE2o"
        ]
      }
    },
    {
      "value": 147.75014395,
      "n": 1,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 35f72ce8b9123a055e27be9a0bb723b6cb502419 OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "76a91435f72ce8b9123a055e27be9a0bb723b6cb50241988ac",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [
          "15vLvDZyAjWCrfWyazMtvHRe8hDJBxXJEC"
        ]
      }
    }
  ],


Then we have the address and amount which are the first part of the vout. It is the first input of our transaction.

"addresses": ["1H1b9fN7wYYwTSweyPjE7wCGSHuduCcE2o"]
"value": 147.75014395


There is a very nice blog about the vin and vout explanation 
http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/