Why are there $2^{2^{n}}$ possible boolean functions of n inputs?
Hint: 
let $f$ be a boolean function with $n$ inputs  i.e $f(b_{1},b_{2},b_{3}...b_{n})$
For example, when $n=3$,   $(1,0,1)$ and $(1,1,0)$ are  different inputs to $f$.
Each input maps to an answer. Also there are limited values that  $f(b_{1},b_{2},...,b_{n})$ can take.

Now consider the definition of a function: $f\colon A \to B$

Define  the size of both  sets $A$ and $B$ and you will arrive at your answer.